Web服务方法问题。请求永远不会达到Web服务方法(无错误)

时间:2012-11-16 17:19:15

标签: c# asp.net .net web-services soap

好的,我在Web服务中编写了一个用于发送电子邮件的方法(不重要)。

站点方面,我将MailMessage对象反序列化为XML(我编写的自定义例程)。然后将其作为参数传递给Web服务中的Web方法。一切正常,直到邮件消息中的文件附件大于144kb。

邮件消息的XML字符串最终看起来像这样(作为无格式字符串参数传递):

    <MailMessage>
      <To>xx.xx@Domain.com</To>
      <From>NoReply@Domain.com</From>
      <Body>blah blah</Body>
      <Attachment ContentType="application/vnd.ms-excel" fileName="Test.xls">
        <byte>00</byte>
        <byte>05</byte>
        <byte>6F</byte>
        …etc

我可以成功接收的最高附件大小为144kb,高于此值,并且请求永远不会达到Web服务方法。我知道这是事实,因为我的Web方法的第一行是记录收到请求。 IIS日志显示Web服务接收的POST消息(从我可以收集的内容),但没有证据表明它已到达我的Web方法。尽管尝试了我能想到的所有内容,但没有任何错误。

我不知道某种默认的最大大小/超时吗?我不是这种东西的大师,所以我想我在这里错过了一些微不足道的东西。

有人可以告诉我可能做错了吗?如果需要,我可以发布代码示例。

1 个答案:

答案 0 :(得分:3)

在web.config中增加maxMessageLength的值应该允许将更大的soap消息传递给服务器。

<configuration>
  <system.web>
  <httpRuntime maxMessageLength="409600"
    executionTimeoutInSeconds="300"/>
  </system.web>
</configuration>

有关详细信息,请参阅此链接。

Large Soap