我希望我的 SignalR 应用程序部署在 webfarm 环境中,所以我使用了带有 SQL 服务器选项的 signalR Scaleout。
我通过指向我的本地数据库进行了测试,它工作正常。但是当我指向我的 PROD db 时,所有必需的数据库表和 SignalR 架构都创建了。但是当客户端第一次点击创建集线器代理时,它失败了,下次尝试时它正在连接。
下面是我从 SignalR.SqlServer 得到的致命异常
Nullable object must have a value.
at Microsoft.AspNet.SignalR.SqlServer.SqlReceiver.Receive(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
Run Code Online (Sandbox Code Playgroud)
我刚刚遇到这个问题,查看源代码后发现 Messages_0_Id 如果为空,则需要添加一行。
if((select count(*) from [SignalR].Messages_0_Id) = 0)
begin
Insert into [SignalR].Messages_0_Id (PayloadId) values (1)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
907 次 |
| 最近记录: |