Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Как узнать свой ServiceHost и EndPoint / 11 сообщений из 11, страница 1 из 1
04.08.2010, 16:05
    #36775473
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
Клиент ломится в метод на ендпоите wcf сервиса, а как в методе узнать по какому ендпоинту его вызвали?
Ну и вообще программно текущий хост свой узнать?
Просто предполагается цепочки вызовов, клиент стучится на сервис, сервис в свою очередь на другой сервис в зависимости от запроса клиента, и хотелось бы знать откуда пришло сообщение об ошибке, если возникнет.
...
Рейтинг: 0 / 0
04.08.2010, 16:33
    #36775590
D129
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
вот в этом надо поковыряться. Много чего найти можно.

Код: plaintext
1.
2.
3.
m_ClientCommandHost = new ServiceHost(m_CommandService);

			m_ClientCommandHost.Description.Endpoints[ 0 ].Address
...
Рейтинг: 0 / 0
04.08.2010, 16:52
    #36775640
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
про ServiceHost понятно, вопрос как узнать текущий, что то типа CurrentServiceHost есть где нибудь?
...
Рейтинг: 0 / 0
04.08.2010, 19:36
    #36775953
D129
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
Сообщение об ошибке "откудато пришло" - то в нем и должно содержаться "откуда". Вам нужен текущий хост - ну это же и будет то, что содержит в себе инстанция m_ClientCommandHost = new ServiceHost

Есть и другие способы узнать IP текущей машины. Но IP мало что скажет - особенно если сервисов много и они меняются и перенастраиваются (мигрируют с тестовых компов на постоянные, например). Я бы отдельно дал каждому сервису имя (в аппконфиге как вариант) - и в сообщение об ошибке вставлял его.
...
Рейтинг: 0 / 0
05.08.2010, 10:14
    #36776437
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
D129Сообщение об ошибке "откудато пришло" - то в нем и должно содержаться "откуда". Вам нужен текущий хост - ну это же и будет то, что содержит в себе инстанция m_ClientCommandHost = new ServiceHost

Есть и другие способы узнать IP текущей машины. Но IP мало что скажет - особенно если сервисов много и они меняются и перенастраиваются (мигрируют с тестовых компов на постоянные, например). Я бы отдельно дал каждому сервису имя (в аппконфиге как вариант) - и в сообщение об ошибке вставлял его.
да походу лучше в конфиге имя задавать
...
Рейтинг: 0 / 0
20.08.2010, 17:30
    #36803497
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
А ServiceHost как получить свой, служба хостится в IIS, ServiceHost создается имже гдето за кадром, как до него добраться то?
...
Рейтинг: 0 / 0
22.08.2010, 10:24
    #36804809
D129
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
barrabasА ServiceHost как получить свой, служба хостится в IIS, ServiceHost создается имже гдето за кадром, как до него добраться то?

Хостить из аппликации. Там ServiceHost приходится создавать явно - и держать ссылку на него итп...
...
Рейтинг: 0 / 0
22.08.2010, 14:49
    #36804941
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
D129barrabasА ServiceHost как получить свой, служба хостится в IIS, ServiceHost создается имже гдето за кадром, как до него добраться то?

Хостить из аппликации. Там ServiceHost приходится создавать явно - и держать ссылку на него итп...
это понятно, вопрос был именно про IIS, наверняка есть какие то статические методы
...
Рейтинг: 0 / 0
22.08.2010, 15:00
    #36804951
D129
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
barrabasD129barrabasА ServiceHost как получить свой, служба хостится в IIS, ServiceHost создается имже гдето за кадром, как до него добраться то?

Хостить из аппликации. Там ServiceHost приходится создавать явно - и держать ссылку на него итп...
это понятно, вопрос был именно про IIS, наверняка есть какие то статические методы

Сомневаюсь. как бы вся технология идет к тому - что сервис (а его бизнес-логика вообще) ничего не должны знать ни о том где они, ни о том кто их "держит".... Если это не так - значит какой-то просчет в архитектуре, и потенциальный будущий гемор.
Вот сейчас как раз пишу такую кривулину. Спорил с начальством, но не переубедил.

Не должен знать предметный слой - о том, где он сидит. Должен знать только - зачем.
...
Рейтинг: 0 / 0
22.08.2010, 17:10
    #36805042
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
D129barrabasD129barrabasА ServiceHost как получить свой, служба хостится в IIS, ServiceHost создается имже гдето за кадром, как до него добраться то?

Хостить из аппликации. Там ServiceHost приходится создавать явно - и держать ссылку на него итп...
это понятно, вопрос был именно про IIS, наверняка есть какие то статические методы

Сомневаюсь. как бы вся технология идет к тому - что сервис (а его бизнес-логика вообще) ничего не должны знать ни о том где они, ни о том кто их "держит".... Если это не так - значит какой-то просчет в архитектуре, и потенциальный будущий гемор.
Вот сейчас как раз пишу такую кривулину. Спорил с начальством, но не переубедил.

Не должен знать предметный слой - о том, где он сидит. Должен знать только - зачем.


смотря какой слой, сборка отвечает чисто за хост, ясно дело что логика не должна зависит от вида хоста. меня интересуют события в ServiceHost, хочу подписаться на старт сервиса для записи в лог.
...
Рейтинг: 0 / 0
22.08.2010, 17:14
    #36805046
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать свой ServiceHost и EndPoint
да и какую то инициализацию данных общих для всего сервиса удобно сделать при старте, а не, скажем, первом обращении. Вот и возникает вопрос как получить, не контроль, а доступ к общему объекту ServiceHost.
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Как узнать свой ServiceHost и EndPoint / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]