SignalR net45 дает 401 Несанкционированный на определенных комбинациях пользователь / машина
Недавно мы обновили приложение WPF и все его зависимости NuGet до.NET 4.5.2 и обнаружили, что некоторые пользователи получают неавторизованные ошибки HTTP 401 от SignalR. Используется проверка подлинности Windows через PrincipalUserIdProvider.
Я получаю ошибку 401 при первом подключении POST к SignalR после подключения к SignalR, но есть много причин, почему это странная проблема:
- Это работает, когда у меня работает Fiddler
- Это работает, когда я запускаю приложение на Citrix
- Он работает, когда я запускаю приложение с помощью "Запуск от имени" на ПК другого человека
- Работает, когда я захожу на чужой компьютер
- Это работает, когда я запускаю более старую версию клиента, которая находится в.NET 4.0 (все еще подключаясь к тому же серверу)
- Это работает в QA (но не все?)
- Это работает, когда кто-то еще использует мой компьютер для запуска приложения
Проблема возникает только для небольшой части комбинаций пользователь / машина, но для этих установок 401 возникает в 100% случаев. Происходит как на Win7, так и на Win8.1 клиенте. На сервере не установлены веб-сокеты.
Любые предложения о том, что может быть проблемой?
1 ответ
Я понятия не имею, почему, но ссылка на копию net40 клиента DLL SignalR вместо копии net45 решает проблему.
Я удалил ссылку на Microsoft.AspNet.SignalR.Client.dll и прочитал ссылку, используя dll net40 в моей папке пакетов NuGet: Microsoft.AspNet.SignalR.Client.2.2.0\lib\net40\Microsoft.AspNet.SignalR. client.dll