c# – 调用服务引用会导致“远程服务器返回错误:(400)错误请求”错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 调用服务引用会导致“远程服务器返回错误:(400)错误请求”错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3698字,纯文字阅读大概需要6分钟。
内容图文
![c# – 调用服务引用会导致“远程服务器返回错误:(400)错误请求”错误](/upload/InfoBanner/zyjiaocheng/769/a401ae6bf6e347d9843215ce065b53eb.jpg)
edit3:我从服务器添加了webconfig
edit2:我运行了日志,这是出现的错误消息:
已超出传入邮件的最大邮件大小限额(65536).要增加配额,请在相应的绑定元素上使用MaxReceivedMessageSize属性.
因为它仅用于2000记录的测试,而不是200的测试,我决定更改应用程序设置,假设它超过了65535的标准限制.不幸的是这没有帮助并且搜索我发现那里有两个此问题的其他类型的来源,一个是服务本身的设置,另一个是端点中的设置.
开发服务的开发人员表示他的方面还可以,而且这个问题只是我身边的一个环境,他曾做过自己但不记得了.
我已经在端点上添加了应用程序配置数据,人们已经说过,如果端点不匹配,将会使用默认设置创建默认端点,从而使用65K限制.如果这是问题我该怎么解决?
如果您需要任何额外的代码或信息,请告诉我.
编辑:我按照建议将更改添加到应用配置中
<behaviors>
<endpointBehaviors>
<behavior name="MetadataBehavior">
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</endpointBehaviors>
</behaviors>
<binding name="BasicHttpBinding_IMailSortService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
<endpoint behaviorConfiguration="MetadataBehavior" address="http://remote-access/MailSort/MailSortService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMailSortService"
contract="MailSortServiceReference.IMailSortService" name="BasicHttpBinding_IMailSortService" />
服务器上的webconfig
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="FilePath" value="\\162.27.51.43\DOWNLOAD\RPA\Mailsort\Auto" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime maxRequestLength="2147483647" />
</system.web>
<system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="Information, ActivityTracing"
propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData= "c:\logs\Traces.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
<dataContractSerializer maxItemsInObjectGraph="2147483647"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
解决方法:
评论变得太大了,转而回答:
您是否将端点指向行为?
<endpoint address="http:blah/MyService.svc" behaviorConfiguration="MyServiceBehavior".
目前的配置适用于200而不是2000?如果是这样,你可以尝试修改你的服务绑定到最大,如下所示,看看是否有帮助,(你也会在服务端反映相同的属性)?
<readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
内容总结
以上是互联网集市为您收集整理的c# – 调用服务引用会导致“远程服务器返回错误:(400)错误请求”错误全部内容,希望文章能够帮你解决c# – 调用服务引用会导致“远程服务器返回错误:(400)错误请求”错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。