Я новичок в WCF. Одна из неудобных вещей, с которыми я столкнулся, - это использование URL-адреса (конечной точки) для представления метода (веб-службы) и использования HTTP для его вызова.
Конечная точка состоит из ABC - Адрес, Связывание, Контракт (т.е. интерфейс). И это выглядит так:
http://www.myserver.com/myservice.svc
Обычно я помещаю URL-адрес в браузере и ожидаю, что какая-то страница вернется.
URL-адрес, указанный выше на сервере, является лишь одной из многих строк, которые я отправил методом HTTP GET. Как именно сервер веб-службы находит правильный метод с этой строкой URL? Я думаю, что сервер должен просто сделать следующие шаги:
1 - Выполните некоторый тривиальный анализ строки URL, после чего сервер узнает протокол и адрес привязки (это A и B часть вышеупомянутого ABC ).
2 - Затем процесс хоста службы проверяет файл конфигурации (будь то app.config или web.config) и находит целевой тип службы .
3 - Процесс хоста службы (будь то консольное приложение, приложение WinForm или рабочий процесс IIS) уже должен загрузить тип службы в свое адресное пространство. С информацией о типе службы, найденной на шаге 2, он может использовать отражение для вызова правильного метода. (Но я не уверен, как клиент отправляет на сервер информацию « which-method-of-the-service-type-i-want-to-invoke » ». В конце концов, мы могли только найти информация о типе услуги через конечную точку).
Таким образом, с точки зрения выше, URL - это просто идентификационный символ, точно так же, как URL используется как xmlns значение атрибута.
Правильно ли это понимание?
Спасибо за ваш ответ.