我无法从集线器槽控制器调用服务器方法。我目前收到此错误,因为来自控制器的authorize属性:
'AuthorizeAttribute' is an ambiguous reference between 'System.Web.Mvc.AuthorizeAttribute' and 'Microsoft.AspNet.SignalR.AuthorizeAttribute'
任何想法为什么会发生这种情况或从控制器操作中调用signalR方法的正确方法是什么?
这是我的设置
[Authorize]
public class UserController : BaseController
{
public ActionResult doSomething()
{
var hubContext = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
hubContext.Clients.All.BroadcastLogin(myusernm);
return View();
}
}
答案 0 :(得分:2)
如果您的文件顶部有using System.Web.Mvc;
和using Microsoft.AspNet.SignalR;
,则无法知道要使用哪个AuthorizeAttribute
。
将[Authorize]
更改为[System.Web.Mvc.AuthorizeAttribute]
或使用using alias directive。