问题描述
我们正在尝试将Azure SignalR服务与我们的Azure功能应用程序连接。函数应用程序中有一个协商方法,该方法将"ɵcmp"
对象返回给客户端,在此之前,它调用signalR服务。我们希望在调用Azure signalR服务并返回SignalRConnectionInfo
对象之前进行数据库调用。我们正在使用SignalRConnectionInfo
,我们的协商功能就像下面这样
Microsoft.Azure.WebJobs.Extensions.Signalrservice 1.0.0
似乎库从标头中获取用户ID并传递给signalR服务。在让库调用signalR服务之前,有什么方法可以执行一些代码?
在 [FunctionName("negotiate")]
public static SignalRConnectionInfo GetSignalRInfo(
[HttpTrigger(AuthorizationLevel.Anonymous)] HttpRequest req,[SignalRConnectionInfo(HubName = "simplechat",UserId = "{headers.x-ms-signalr-userid}")] SignalRConnectionInfo connectionInfo)
{
return connectionInfo;
}
中,有几种方法可以实现这种效果。
Microsoft.Azure.WebJobs.Extensions.Signalrservice 1.2.0
还通过使用基于类的中心
[FunctionName("negotiate")]
public static SignalRConnectionInfo GetSignalRInfo(
[HttpTrigger(AuthorizationLevel.Anonymous)] HttpRequest req)
{
var userId = req.Query["userid"];
var hubName = req.Query["hubname"];
// Doing database check here
var connectionInfo = new SignalRConnectionInfo();
var serviceManager = StaticServiceHubContextStore.Get().ServiceManager;
connectionInfo.Accesstoken = serviceManager
.GenerateClientAccesstoken(
hubName,userId,new List<Claim> { new Claim("claimType","claimValue") });
connectionInfo.Url = serviceManager.GetClientEndpoint(hubName);
return connectionInfo;
}
我想使用该库的1.0.0实现类似的功能。有人可以帮忙吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)