如何解决上传文件WCF Web API端点
| 有什么方法可以将文件上传到WCF Web API端点吗?如果是这样,我如何访问Network Stream读取数据? 很感谢任何形式的帮助。 谢谢。解决方法
假设您正在客户端上谈论:
一种方法是创建一个从HttpContent派生的FileContent类。在替代中,当HTTPClient准备接收流时,将为您提供NetworkStream。
如果您询问服务器端,则只需持有HTTPRequestMessage并访问httpRequestMessage.Content.ContentReadStream属性。
更新资料
默认情况下,WCF传输限制为以65K发送消息。如果要发送更大的文件,则需要启用\“ Streaming Transfer Mode \”,并且需要增加MaxReceivedMessageSize的大小,这是为了防止有人通过上传大量文件而杀死您的服务器。
因此,您可以使用绑定配置执行此操作,也可以在代码中执行此操作。这是在代码中执行此操作的一种方法:
var endpoint = ((HttpEndpoint)host.Description.Endpoints[0]); //Assuming one endpoint
endpoint.TransferMode = TransferMode.Streamed;
endpoint.MaxReceivedMessageSize = 1024 * 1024 * 10; // Allow files up to 10MB
, 此答案仅用于通过Web API预览6添加一些详细信息。
TransferMode
和MaxRecievedMessageSize
是通过WebApiConfigurationClass
新暴露的。
var builder = new WebApiConfiguration();
builder.TransferMode = TransferMode.Streamed;
builder.MaxReceivedMessageSize = 1024 * 1024 * 10;
var serviceRoute = new WebApiRoute(route,new WebAPIServiceHostFactory() { Configuration = builder },typeof(MyService));
我喜欢!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。