SignalR net45 выдает 401 Unauthorized для определенных комбинаций пользователя/машины

Недавно мы обновили приложение 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. На сервере не установлены веб-сокеты.

Любые предложения о том, что может быть проблемой?


person Kevin Kalitowski    schedule 24.06.2015    source источник


Ответы (1)


Я понятия не имею, почему, но ссылка на копию net40 клиентской dll SignalR вместо копии net45 решает проблему.

Я удалил ссылку на Microsoft.AspNet.SignalR.Client.dll и прочитал ссылку, используя библиотеку net40 в папке пакетов NuGet: Microsoft.AspNet.SignalR.Client.2.2.0\lib\net40\Microsoft.AspNet.SignalR. Client.dll

person Kevin Kalitowski    schedule 24.06.2015