Почему я должен использовать конечные точки в WCF

Я только что создал свой первый пример в WCF. До сих пор я мог создать Сервис и использовать его на моей локальной машине. Когда я впервые прочитал о WCF, я увидел некоторые пояснения по поводу END POINTS и не мог понять, почему он действительно используется. Ниже приведен мой код, и кто-нибудь, пожалуйста, скажите мне, почему я должен использовать конечные точки и как добавить конечные точки в мой пример приложения.

namespace MvcApplicationrazor.Services
{

    [ServiceContract]
    public interface IMyService
    {
        [OperationContract]
        string MyOperation1(string myValue);
        [OperationContract]
        string MyOperation2(DataContract1 dataContractValue);
        [OperationContract]
        string HelloWorld(string str);
    }

    [DataContract]
    public class DataContract1
    {
        string firstName;
        string lastName;

        [DataMember]
        public string FirstName
        {
            get { return firstName; }
            set { firstName = value; }
        }
        [DataMember]
        public string LastName
        {
            get { return lastName; }
            set { lastName = value; }
        }
    }
}


namespace MvcApplicationrazor.Services
{

    public class MyService : IMyService
    {
        public string MyOperation1(string myValue)
        {
            return "Hello: " + myValue;
        }
        public string MyOperation2(DataContract1 dataContractValue)
        {
            return "Hello: " + dataContractValue.FirstName;
        }
        public string HelloWorld(string str)
        {
            return "Helloworld from " + str;
        }


    }
}

Клиент:

 FirstServiceReference.MyServiceClient cc = new FirstServiceReference.MyServiceClient();
 string  a = cc.MyOperation1("chamara");

1 ответ

Все взаимодействие со службой Windows Communication Foundation (WCF) происходит через конечные точки службы. Конечные точки предоставляют клиентам доступ к функциям, предлагаемым службой WCF.

Каждая конечная точка состоит из четырех свойств:

  • Адрес, который указывает, где можно найти конечную точку.
  • Привязка, которая указывает, как клиент может взаимодействовать с конечной точкой.
  • Контракт, который определяет доступные операции.
  • Набор поведений, которые определяют локальные детали реализации конечной точки.

Структура конечной точки

Каждая конечная точка состоит из следующего:

  • Адрес: адрес однозначно идентифицирует конечную точку и сообщает потенциальным потребителям услуги, где она находится. Он представлен в объектной модели WCF классом EndpointAddress. Класс EndpointAddress содержит:

  • Свойство Uri, представляющее адрес службы.

  • Свойство Identity, которое представляет идентификатор безопасности службы и коллекцию необязательных заголовков сообщений. Дополнительные заголовки сообщений используются для предоставления дополнительной и более подробной информации об адресации для идентификации или взаимодействия с конечной точкой.

    Для получения дополнительной информации см. Указание адреса конечной точки.

  • Привязка: привязка указывает, как связаться с конечной точкой. Это включает:

    • Используемый транспортный протокол (например, TCP или HTTP).

    • Кодировка, используемая для сообщений (например, текстовая или двоичная).

    • Необходимые требования безопасности (например, безопасность сообщений SSL или SOAP).

    Для получения дополнительной информации см. Обзор привязок Windows Communication Foundation. Привязка представлена ​​в объектной модели WCF абстрактным базовым классом Binding. В большинстве случаев пользователи могут использовать одну из системных привязок. Для получения дополнительной информации см. Системные привязки.

  • Контракты. В контракте указывается, какие функции конечная точка предоставляет клиенту. Контракт определяет:

    • Какие операции могут быть вызваны клиентом.

    • Форма сообщения.

    • Тип входных параметров или данных, необходимых для вызова операции.
    • Какой тип обработки или ответное сообщение может ожидать клиент.
  • Поведения. Вы можете использовать поведение конечной точки для настройки локального поведения конечной точки службы. Конечные точки поведения достигают этого, участвуя в процессе построения среды выполнения WCF. Примером поведения конечной точки является свойство ListenUri, которое позволяет указать другой адрес прослушивания, чем адрес SOAP или языка описания веб-служб (WSDL). Для получения дополнительной информации см. ClientViaBehavior.

Другие вопросы по тегам