好的,我在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方法。尽管尝试了我能想到的所有内容,但没有任何错误。
我不知道某种默认的最大大小/超时吗?我不是这种东西的大师,所以我想我在这里错过了一些微不足道的东西。
有人可以告诉我可能做错了吗?如果需要,我可以发布代码示例。
答案 0 :(得分:3)
在web.config中增加maxMessageLength的值应该允许将更大的soap消息传递给服务器。
<configuration>
<system.web>
<httpRuntime maxMessageLength="409600"
executionTimeoutInSeconds="300"/>
</system.web>
</configuration>
有关详细信息,请参阅此链接。