1

好的,我在 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 方法中。没有错误,尽管我能想到的所有内容都尝试捕获块。

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

谁能告诉我我可能做错了什么?如果需要,我可以发布代码示例。

4

1 回答 1

3

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

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

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

大肥皂

于 2012-11-16T17:35:58.750 回答