2013-11-14 77 views
5

我正在將WebApi 1移至使用OWIN的WebApi 2項目。System.Web.Http.WebHost中的GlobalConfiguration是否與Owin兼容?

在這段代碼中,GlobalConfiguration在System.Web.Http.WebHost中。

public class HandlerErrorFilterAttribute : ExceptionFilterAttribute 
{ 
    public override void OnException(HttpActionExecutedContext context) 
    { 
     var logFactory = GlobalConfiguration.Configuration.DependencyResolver 
          .GetService(typeof(ILoggerFactory)) as ILoggerFactory; 
     ... 
    } 
} 

我覺得這不是Owin兼容,但我找不到如何重寫這個,所以我可以訪問依賴解析器。

回答

4

我不完全清楚你的問題在這裏......但GlobalConfiguration與Owin中間件是可以相容的......還有一些叫做System.Web.Http.Owin這是一個Web API Owin Adpater中間件......如果你使用這個適配器,那麼GlobalConfiguration不能使用...實際上這是在Owin Selfhost場景中使用的同一個適配器...

如果您沒有使用此適配器並且僅使用其他Owin中間件以及System.Web.Http.WebHost,那麼您的上述代碼應該工作得很好......你看到什麼不同嗎?

+1

我在新的WebApi項目中使用System.Web.Http.Owin,所以GlobalConfiguration是爲了避免!這個中間件有相同的東西嗎? – Swell

+3

我也有同樣的問題。 owin是否有相當於?你有沒有發現? – Harindaka