ServiceStack maxReceivedMessageSize

时间:2014-12-11 16:09:20

标签: asp.net web-services asp.net-web-api servicestack servicestack-bsd

我有一个使用servicestack v3.9编写的服务。我试图返回一个大的结果集,并在我的客户端上收到500内部服务器错误。如果我查看错误的详细信息,我会看到结果列在异常中,但在65536个字符后被截断。我知道这是.net强加的默认限制。我不知道的是如何增加服务堆栈。

我的客户端没有使用Web配置中的绑定连接到服务,因为它使用的是服务堆栈。对于web api调用,这似乎是解决此问题的方法,即在绑定中增加maxReceivedMessageSize。我猜有一些办法来增加服务堆栈的限制吗?

1 个答案:

答案 0 :(得分:1)

ServiceStack本身不会施加任何限制或配额,因此您的服务所遇到的任何限制都是IIS / ASP.NET,它可以像任何其他ASP.NET Web应用程序一样增加

下面的Web.Config示例配置显示了如何在IIS6和IIS7中将请求限制增加到1GB:

<configuration>
    <system.web>
        <httpRuntime maxRequestLength="1048576" />
    </system.web>
</configuration>

对于IIS7及更高版本,您还需要添加以下行:

 <system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
   </security>
 </system.webServer>