Как недавно добавленный файл global.asax может испортить мою службу WCF?
-
08-10-2019 - |
Вопрос
У меня есть приложение silverlight, которое использует WCF как путем опроса дуплексных, так и «обычных» асинхронных вызовов.все работало нормально, пока я не добавил файл global.asax.
После часа поиска в Google я наткнулся на довольно устаревший блог автора: Жан-Дирк Стюарт это предложило закомментировать заглушенное событие Session_start.
Конечно, это решило проблему, но это вызывает беспокойство.Почему этот, казалось бы, безобидный член файла global.asax нарушает вызовы wcf?
Решение
Да, это немного известная, но раздражающая проблема. Проблема сводится к включению состояния сеанса после добавления файла Global.Asax в свой веб-проект. Как только состояние сеанса включено, сервер будет выполнять только последовательно вызовы. Вот две статьи с более подробной информацией:
Это происходит только при использовании сети браузера, поэтому ваши опции:
- Отключить состояние сеанса в вашем веб-проекте или
- Используйте стек клиентской сети
Надеюсь это поможет...
Крис
Другие советы
Существуют некоторые типы привязки, которые поддерживают доступ к данным сеанса asp.net, я действительно не понимаю, как это повлияет, если WCF не попытается подключиться к событию session_start, как это делает модуль http.Вы также можете использовать отражатель для дизассемблирования кода, в котором вы получили исключение.