【问题标题】:Owin Self-Hosted WebApi MaxBufferSizeOwin 自托管 WebApi MaxBufferSize
【发布时间】:2015-11-16 17:15:38
【问题描述】:

当我使用 IIS 或 WebApi Selfhost 托管 WebApi 时,我可以设置 MaxBufferSize 和 MaxReceivedMessageSize 的值。

但是 Owin Self-Host 呢?有没有办法定义这些参数?什么都没找到。有没有必要这样做?如果不需要,能解释一下原因吗?

【问题讨论】:

    标签: c# asp.net-web-api owin


    【解决方案1】:

    您可能知道,Microsoft 已转向中间件。这个article 有一个现成的示例来强制执行最大消息大小。基本上,您需要创建一个继承 OwinMiddleware 的类,然后您可以在当前上下文中的 IOwinRequest 接口上检查您的消息大小。

    对于这样一个“简单”的任务,两行代码需要被大量复杂的代码替换,这很奇怪,但事实就是这样。

    【讨论】:

    • 这似乎只有在您想降低限制时才起作用;至少在我看来,只有小于默认限制的请求才会调用中间件。
    • 这与中间件无关,而是与身份验证有关:我的 OwinHttpListener 设置为使用 IntegratedWindowsAuthentication 作为其 AuthenticationSchemeSelectorDelegate。如果我完全删除它,在任何一种情况下都会调用中间件。不过,不确定是什么原因造成的,或者如何解决它。
    • 作为参考,我添加了这个as another question
    猜你喜欢
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 2018-11-22
    • 2013-07-09
    相关资源
    最近更新 更多