【发布时间】:2017-03-02 10:34:51
【问题描述】:
我有一个通过控制台应用程序运行的 WCF 服务器,它将作为 azure 服务运行,因此我不将其托管在 ISS 中。
我相信它运行良好并通过 ajax 请求将数据共享到我的网络应用程序。但是当我创建一个接收文件流的服务时,我意识到我的绑定配置根本没有被使用。我的 WCF 工作相同,没有绑定部分。
我的问题特别关注“maxReceivedMessageSize”键,因为默认值将我限制为 8Ko 请求,这是上传文件的问题。
绑定部分(我可以评论):
<webHttpBinding>
<binding name="MyBindingConfig" crossDomainScriptAccessEnabled="true" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" transferMode="Buffered">
<readerQuotas maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxDepth="2147483647" maxNameTableCharCount="2147483647" />
<security mode="None" />
</binding>
</webHttpBinding>
服务部分:
<service name="MyData.Service.MyDataServiceRestFull">
<endpoint binding="webHttpBinding"
contract="MyData.Service.IMyDataServiceRestFull" bindingName="MyBindingConfig" />
<host>
<baseAddresses>
<add baseAddress="http://localhost:9997/MyDataServer"/>
</baseAddresses>
</host>
</service>
请注意,我尝试了 basicHttpBinding 并且遇到了同样的问题。
【问题讨论】:
-
您的传输模式不应该是流式传输吗?看看这个:msdn.microsoft.com/en-us/library/ms733742(v=vs.110).aspx
-
我尝试了“流式传输”,但正如我在帖子中所说,我在绑定部分尝试的所有修改都没有改变