我已经使用Windows应用程序托管了SignalR应用程序。我知道,长篇小说,更容易进行自我训练。
它运行良好 - 但是昨天,当我在Visual Studio中以调试模式运行时,连接尝试后,我得到了400个错误回音The ConnectionId is in the incorrect format.
。
我看着日志 - 什么都没有。然后我启用了跟踪并找到了以下内容:
SignalR.HubDispatcher Information: 0 : Failed to process connectionToken: System.Security.Cryptography.CryptographicException: Key not valid for use in specified state.
at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
at System.Security.Cryptography.DpapiDataProtector.ProviderUnprotect(Byte[] encryptedData)
at System.Security.Cryptography.DataProtector.Unprotect(Byte[] encryptedData)
at Microsoft.Owin.Security.DataProtection.DpapiDataProtector.Unprotect(Byte[] protectedData)
at Microsoft.AspNet.SignalR.Infrastructure.DataProtectionProviderProtectedData.Unprotect(String protectedValue, String purpose)
at Microsoft.AspNet.SignalR.PersistentConnection.TryGetConnectionId(HostContext context, String connectionToken, String& connectionId, String& message, Int32& statusCode)
有什么想法如何解决?
我看了一个小时 - 每个人都在谈论网络农场,证书商店和负载平衡器。我相信我没有任何东西。
我在Windows 7上使用.NET 4.5与Signalr 2.2.1使用。
因此,事实证明(至少在我们的情况下)Signalr用于持久性的Redis服务器的缺乏。设置后 - 问题消失了。
不确定该如何连接到机器键,网络农场和加密