2013-03-11 4 views
0

У меня есть службы wcf. Некоторые из них - один путь, а некоторые - нет. Те, кто не работает с проверкой подлинности форм, получают HttpContext.Current.User. Те, кто один из способов, получают нуль в HttpContext.Current.User.HttpContext.Current.User имеет значение null, когда IsOneWay = true

Как исправить?

Я использую режим совместимости ASP.NET

ответ

1

Via HttpContext.Current is null in my web service:

WCF Services and ASP.NET

В пределах AppDomain, особенности реализуется HTTP выполнения применяются к содержимому ASP.NET, но не WCF , Многие специфичные для HTTP функции платформы приложений ASP.NET не применяются к службам WCF, размещенным внутри AppDomain, который содержит контент ASP.NET. Примеры этих функций включают в себя следующее:

HttpContext: Current всегда имеет значение null при доступе из службы WCF. Вместо этого используйте RequestContext.

[...]

HttpContext: услуги WCF, работающие в режиме совместимости ASP.NET могут получить доступ ток и связанное с ним состояние.

+0

Вы имеете в виду 'OperationContext.Current.RequestContext1'? это тоже нулевое значение. В любом случае мне нужно получить доступ к свойству «HttpContext.Current.User». – taminov

+0

_ «В любом случае мне нужно получить доступ к свойству« HttpContext.Current.User ».» _ - no, вам нужно получить текущего пользователя. Если это не в этом свойстве и что документировано, вам нужно искать где-то в другом месте. Также см. Править, взгляните на режим совместимости ASP.NET. – CodeCaster

+0

Я уже использую режим совместимости. – taminov

Смежные вопросы