c# – 在ServiceStack中增加特定路由的maxRequestLength

所以我最近编写了一个简单的服务来将文件上传到我的服务器.一切正常.我的web.config看起来像这样(最大上传大小限制为20 MB):

<configuration>
  <system.web>
    <httpRuntime maxRequestLength="20480" executionTimeout="600" />
    <httpHandlers>
      <add path="api*" type="ServiceStack.WebHost.Endpoints.ServiceStackHttpHandlerFactory, ServiceStack" verb="*" />
    </httpHandlers>
    ...
  </system.web>
</configuration>

我的所有路由都以/ api /开头,例如我的上传服务是/ api / documents / upload.

现在我的问题是:是否可以为不同的服务定义不同的上传大小? (在我的例子中,每项服务限制为20 MB!)

我尝试了一些带有location-tag的东西,但它没有使用httpRuntime-tag.有人尝试过这样的东西吗?

最佳答案
使用location元素,它应该工作(检查路径没有〜/)

<configuration>
  <location path="api/documents/upload">
    <system.web>
      <httpRuntime maxRequestLength="20480" />
    </system.web>
    <system.webServer>
      <security> 
        <requestFiltering>
          <requestLimits maxAllowedContentLength="20971520" />
        </requestFiltering>
      </security>
    </system.webServer>
  </location>
</configuration>

转载注明原文:c# – 在ServiceStack中增加特定路由的maxRequestLength - 代码日志