我有一个应用程序,在我的一个方法中,我将文件传输到服务器。
我可以轻松上传大约50 KB的文件。但我的最大限制大约是3 MB。
我的WCR服务托管在带有nettcpbinding的Windows服务中
我的Windows配置是
<configuration>
<system.serviceModel>
<services>
<service name="BTWAServerWindowsService.BatchManagementService"
behaviorConfiguration ="BatchManagementService">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:9999/BatchManagementService" />
</baseAddresses>
</host>
<endpoint name="BatchManagementServiceEndPoint"
address =""
binding="netTcpBinding"
contract="BTWAServerWindowsService.IBatchManagementService">
</endpoint>
<endpoint name="BatchManagementServiceMetadataPoint" address="mex"
binding="mexTcpBinding"
contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="BatchManagementService">
<serviceMetadata httpGetEnabled="False"/>
<serviceDebug includeExceptionDetailInFaults="False" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
我的客户端配置
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="BatchManagementServiceEndPoint" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="524288"
maxBufferPoolSize="524288" maxBufferSize="524288" maxConnections="524288"
maxReceivedMessageSize="524288">
<readerQuotas maxDepth="524288" maxStringContentLength="524288"
maxArrayLength="524288" maxBytesPerRead="524288" maxNameTableCharCount="524288" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://localhost:9999/BatchManagementService"
binding="netTcpBinding" bindingConfiguration="BatchManagementServiceEndPoint"
contract="BTWABatchManagement.IBatchManagementService" name="BatchManagementServiceEndPoint" />
</client>
</system.serviceModel>
</configuration>
目前我无法将transfermode更改为流式传输,因为还有其他一些方法
请建议我将文件限制增加到4 mb所需的配置更改是什么
答案 0 :(得分:2)
在服务端app.config以及客户端app.config中对netTcpBinding中的以下属性进行更改
maxBufferPoolSize="1073741824" maxBufferSize="1073741824" maxConnections="10"
maxReceivedMessageSize="1073741824">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
这些属性的最大值为2147483647
<bindings>
<netTcpBinding>
<binding name="BatchManagementServiceEndPoint" closeTimeout="00:10:00"
openTimeout="00:10:00" receiveTimeout="00:10:00" sendTimeout="00:10:00"
transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="524288"
maxBufferPoolSize="1073741824" maxBufferSize="1073741824" maxConnections="10"
maxReceivedMessageSize="1073741824">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00"
enabled="false" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
希望这有帮助