带有ActionFilters和SignalR的Ninject

时间:2013-07-17 17:49:51

标签: asp.net asp.net-mvc-3 signalr action-filter signalr-hub

我有一个基于mvc3的Web服务,它使用Ninject来管理其动作过滤器,这一切都运行正常。但是现在我不得不在混合中实现SignalR集线器,并且如果可能的话,理想的是希望在这些新集线器上重用现有的动作过滤器。

最重要的过滤器之一是CookieAuthentication过滤器,它基本上检查给定请求是否包含正确的身份验证cookie,如果cookie不存在或有效,则将filtercontext.result对象设置为自定义UnauthorisedResult对象。所以在这个例子中你可以使用这个功能,因为我知道SignalR不知道动作结果,所以不确定它是否会自动取消请求等。

我已经尝试过googling但是找不到关于这个主题的更多信息,我假设你不能混合它们,因为两个框架只共享底层ASP框架而不是MVC框架。

1 个答案:

答案 0 :(得分:1)

你做不到。 ActionFilters仅用于MVC,在使用SignalR时不运行。唯一的共同点(如您所知)是ASP.NET本身。这意味着您可以编写HttpModule但不能编写动作过滤器。

您可以在此处详细了解SignalR安全性: http://www.asp.net/signalr/overview/security