我有一个基于mvc3的Web服务,它使用Ninject来管理其动作过滤器,这一切都运行正常。但是现在我不得不在混合中实现SignalR集线器,并且如果可能的话,理想的是希望在这些新集线器上重用现有的动作过滤器。
最重要的过滤器之一是CookieAuthentication过滤器,它基本上检查给定请求是否包含正确的身份验证cookie,如果cookie不存在或有效,则将filtercontext.result对象设置为自定义UnauthorisedResult对象。所以在这个例子中你可以使用这个功能,因为我知道SignalR不知道动作结果,所以不确定它是否会自动取消请求等。
我已经尝试过googling但是找不到关于这个主题的更多信息,我假设你不能混合它们,因为两个框架只共享底层ASP框架而不是MVC框架。
答案 0 :(得分:1)
你做不到。 ActionFilters仅用于MVC,在使用SignalR时不运行。唯一的共同点(如您所知)是ASP.NET本身。这意味着您可以编写HttpModule但不能编写动作过滤器。
您可以在此处详细了解SignalR安全性: http://www.asp.net/signalr/overview/security