2015-02-23 86 views
1

我有一個存儲在用戶會話對象中的複雜權限列表。我在我的自定義實現AuthorizeAttribute中訪問這個來管理對我的REST API的訪問。Mono中的Asp.NET Web API訪問會話

爲了使它工作,我必須啓用SessionState for API控制器(默認情況下它不會被加載)。這奏效了:

protected void Application_PostAuthorizeRequest() 
{ 
    if (IsWebApiRequest()) 
    { 
    HttpContext.Current.SetSessionStateBehavior(
     System.Web.SessionState.SessionStateBehavior.Required); 
    } 
} 

private static bool IsWebApiRequest() 
{ 
    return HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath.StartsWith(@"~/api"); 
} 

它在開發過程中的工作現在罰款VisualStudio的,但是當我部署到單聲道Session對象是再次空。

任何想法我可以如何強制單聲道也加載會議API控制器?

回答