gpt4 book ai didi

c# - WebApi 2 中 IHostBufferPolicySelector 上下文中的空 RouteData

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:24 24 4
gpt4 key购买 nike

我正在尝试在 WebApi 2 中上传大文件。我正在关注 this tutorial (这与 webapi 2 说明书中使用的配方相同)您在其中注册主机策略

public class NoBufferPolicySelector : WebHostBufferPolicySelector
{
public override bool UseBufferedInputStream(object hostContext)
{
var context = hostContext as HttpContextBase;

if (context != null)
{
if (string.Equals(context.Request.RequestContext.RouteData.Values["controller"].ToString(), "uploading", StringComparison.InvariantCultureIgnoreCase))
return false;
}

return true;
}
}

但是 context.Request.RequestContext.RouteData 基本上是一个没有路由数据集的虚拟对象。

是否有另一种方法可以从 HttpBaseContext 中找到 webapi 2 中的 RouteData,或者可能有另一种方法来处理无缓冲上传?

最佳答案

您的帖子已经有点旧了,但最近遇到了同样的问题。

使用 Owin Host 的项目(我的情况,也许是你的情况)使用已经完成工作的 OwinBufferedPolicySelector 类,因此不需要覆盖该类。

OwinContext 不会将 RouteData 公开为 HttpContextBase。

https://books.google.com.br/books?id=7aE8BAAAQBAJ&pg=PA123&lpg=PA123&dq=override+WebHostBufferPolicySelector&source=bl&ots=fvV5SWVsJG&sig=I5t4MBOXdPbgFV4mBCI_kWLWkRw&hl=pt-BR&sa=X&ei=oheIVev2N-TgsASS2IDgCQ&ved=0CD0Q6AEwAw#v=onepage&q=override%20WebHostBufferPolicySelector&f=false

关于c# - WebApi 2 中 IHostBufferPolicySelector 上下文中的空 RouteData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28865349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com