从控制器方法调用 signalR 服务器方法时出错
本文关键字:方法 出错 服务器 调用 控制器 signalR | 更新日期: 2023-09-27 18:31:12
我无法从集线器槽控制器调用服务器方法。 由于控制器的授权属性,我目前收到此错误:
'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();
}
}
如果你在文件的顶部有using System.Web.Mvc;
和using Microsoft.AspNet.SignalR;
,那么它将不知道要使用哪个AuthorizeAttribute
。
将[Authorize]
更改为[System.Web.Mvc.AuthorizeAttribute]
或使用 using 别名指令。