是否可以通过 .net (WCF) Rest Full Web 服务公开二进制文件。
我想在我的网络服务器上有一个二进制文件,它可以作为休息资源使用,比如
.../api/firmware_2_0
我的 Web 服务客户端可以“获取”。
这可能吗,谁能做到。
我熟悉使用 Restful Web 服务来提供数据库中数据的 JSON 表示,但不熟悉二进制文件。
最佳答案
虽然我同意在大多数情况下 IIS 应该用于提供文件服务,但在某些情况下您实际上希望通过 RESTful WCF 服务公开原始二进制文件。
来自 http://blogs.msdn.com/b/carlosfigueira/archive/2008/04/17/wcf-raw-programming-model-web.aspx ,
[OperationContract]
[WebGet(UriTemplate = "?url={uri}")]
public Stream GetBinary(string uri)
{
var binary = new byte[0]; // some sort of query
var mimeType = ""; // some sort of query
WebOperationContext.Current.OutgoingResponse.ContentType = mimeType;
return new MemoryStream(binary);
}
现在意识到,在执行此操作时,您完全绕过了 WCF 的格式设置。因此,不会有任何 xml/json 包装。
关于.net - 如何在 .Net Restful Web 服务中公开二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10810455/