|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
В asp.net lifecycle application можно было подписаться на BeginRequest и спокойно себе инициализировать все что надо для контекста, WCF по умолчанию не компатибл с пайплайном asp.net, как лучше проставлять для всех сервисов на хосте IIS 7 контекст приложения. есть варианты: 1) <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />, но на каждом сервисе писать атрибут AspNetCompatibilityRequirements как-то не хочеться 2) httpModule (пока мой выбор) 3) реализовать фабрику WCF и там инжектить 4) ваши идеи ..... Выбранный подход будет применен на нескольких хостах, как будет проще в дальшейшей потдержке таких подходов ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2011, 18:41 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
проблема оказалась глубже, потоки в которых выполняются Global.asax и HttpModule разные, значит пока только способ номер 3 подходит ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 12:30 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
stimpiВ asp.net lifecycle application можно было подписаться на BeginRequest и спокойно себе инициализировать все что надо для контекстаЧто ты собрался инициализировать? Ни одна из твоих переменных не попадет в сервис. Ты плохо знаешь архитектуру. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 17:37 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
n_string, Код: plaintext
в курсе что не попадает поэтому и спраишиаю как лучше сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 18:03 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
Ситуация такая что в url приходит некая информация, которая должна быть известна контексту wcf сервиса с хостом на iis, для asmx вызов перехватывается модулем и прописывается в контекст [ThreadStatic], а wcf сервис подымает фабрика с учетом Concurrency mode, и такой подход не проходит. Эта информация не может быть передана в хидере запроса wcf вызова и далее поведением извлечена, тк с нашей стороны мы реализуем колбек сервис, единственное что мы можем сделать это изменить урл сервиса с информацией о контексте, который в последствии и надо вытащить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 20:21 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
Витиевато вы как-то объясняете. Ну да ладно. Зачем использовать URL для передачи служебной инфы, в веб сервисах очень много возможносте. Для передачи каких-то служебных данных обычно используют MessageContract ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 20:52 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
n_string, ситуация такая что мы имеем только wsdl сервиса который нам надо реализовать, на вызовы этого сервиса мы не влияем никак. каким образом MessageContract может помочь ? сервис один, но в зависимости от этого параметра должен выбираеться тот или иной пусть выполнения операций ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2011, 23:39 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
Обычно в таких случаях из одного вебсервиса делают роутер, который разводит запросы по разным вебсервисам. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2011, 16:41 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
n_string, возможно прийдется так и делать ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2011, 17:29 |
|
WCF инициализация констант для всех сервисов захостченных на IIS 7
|
|||
---|---|---|---|
#18+
В общем вышло сделать задуманное через использование <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />. В httpModule парсим урлу, вытягиваем параметр и добавляем его в хидер реквеста, из сервиса мы уже имеем доступ к httpContext из которого вытягиваем хидер. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2011, 18:06 |
|
|
start [/forum/topic.php?fid=19&msg=37489419&tid=1397348]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 373ms |
0 / 0 |