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

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

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

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

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

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

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

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

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

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

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

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

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


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


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