2012-02-15 3 views
2

Я использую в своем классе Global.asax объект Application для хранения данных.Чтение свойства глобального приложения из службы WCF

Application.Set("data", "test"); 

Теперь, в моей службе WCF, я хочу быть в состоянии прочитать эту собственность. Как я могу это сделать?

Application["data"]; 

В отладки, я могу видеть, что мой global.asax называется (Begin_Request), но в методе моего WebService, то как я могу получить доступ к этому Применение?

ответ

4
var yourData=HttpContext.Current.Application["data"]; 

иметь в виде, во всяком случае Тэе, если будет развернута служба на ферме серверов вы можете иметь проблемы, как Приложение InProc и каждый сервер будет иметь свой собственный Application переменной

+0

Благодарим за информацию о проблеме. – Tuizi

4

для того, чтобы получить HttpContext .Current работы с ФОС вам нужно включить совместимость:

<system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
</system.serviceModel> 

, то вы можете получить доступ как Массимилиано Peluso предлагает:

// in the wcf service 
var yourData=HttpContext.Current.Application["data"]; 
Смежные вопросы