有些人可以看看我的web.config并告诉我它有什么问题吗?我只是无法通过大于1MB的远程Web服务上传文件。我猜它与属性设置有关,但到目前为止我没有运气改变值。或者它是主机服务器端的设置,我无法覆盖?
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="CategoryPath" value="QA/ProcessValidation"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
</startup>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_Authentication" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
<binding name="BasicHttpBinding_DocumentManagement" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
<binding name="BasicHttpBinding_ContentService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Mtom" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384"/>
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None" realm=""/>
<message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
</client>
</system.serviceModel>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
编辑:我无法控制服务器端的服务,实际上我只使用WCF而且只有链接。
答案 0 :(得分:2)
您发布的配置文件是客户端配置还是服务器配置还不完全清楚,但是我会做出一个半教育的猜测并说它是客户端配置,并且您正在使用您的客户端连接到第三方服务。
如果您不了解您所看到的错误消息和/或行为,或者您在代码中创建客户端的方式,您可以尝试以下几种方法:
maxStringContentLength
元素中<readerQuotas>
属性的大小。现在它被设置为默认值8,192字节。maxReceivedMessageSize
元素中的<binding>
属性 - 现在它也设置为默认值65536。这两个属性的最大值为Int32.MaxValue
- 大约2GB。在任何一种情况下,除非你在配置文件中指定了一个端点(你当前不会出现),它引用定义的绑定配置(通过<endpoint>
元素bindingConfiguration
属性),您将始终获得端点绑定的默认值。
因此,您需要将绑定定义设置为默认值(通过省略name
元素中的<binding>
属性,或者您需要使用以下内容分配要使用的绑定配置端点上的bindingConfiguration
属性,如下所示:
<endpoint address="" binding=basicHttpBinding"
bindingConfiguration="MyBinding" contract="MyService.IMyService" />
如果服务不在您的控制之下,那么如果他们设置了下限,您将无法做很多事情,因为客户端无法修改服务的配置(并且该服务无法修改客户端&#39) ; s)。配置是分开的,但许多部分(绑定,安全性等)必须匹配。
如果以上内容没有帮助,请编辑您的问题以添加更多信息(您看到的是什么错误消息/行为,是客户端还是服务配置,您是如何创建客户端的,您是否拥有服务配置等。)