EndpointAddress EndpointAddress EndpointAddress EndpointAddress Class

Определение

Предоставляет уникальный сетевой адрес, используемый клиентом для взаимодействия с конечной точкой службы.Provides a unique network address that a client uses to communicate with a service endpoint.

public ref class EndpointAddress
public class EndpointAddress
type EndpointAddress = class
Public Class EndpointAddress
Наследование
EndpointAddressEndpointAddressEndpointAddressEndpointAddress

Примеры

using System;
using System.Configuration;
using System.Collections.Generic;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Description;

using System.Text;

namespace Microsoft.WCF.Documentation
{
  class HostApplication
  {

    static void Main()
    {
      HostApplication app = new HostApplication();
      app.Run();
    }

    private void Run()
    {

            // Get base address from app settings in configuration
            Uri baseAddress = new Uri(ConfigurationManager.AppSettings["baseAddress"]);

            //Create new address headers for special services and add them to an array
            AddressHeader addressHeader1 = AddressHeader.CreateAddressHeader(
                "specialservice1", "http://localhost:8000/service", 1);
            AddressHeader addressHeader2 = AddressHeader.CreateAddressHeader(
                "specialservice2", "http://localhost:8000/service", 2);

            // Enumerate address headers and their properties from the array.
            AddressHeader[] addressHeaders = new AddressHeader[2] { addressHeader1, addressHeader2 };
            foreach (AddressHeader addressHeader in addressHeaders)
            {
                Console.WriteLine("AddressHeader - namespace:\t\t{0}", addressHeader.Namespace);
                Console.WriteLine("              - name:\t\t\t{0}", addressHeader.Name);
                Console.WriteLine("              - value:\t\t\t{0}", addressHeader.GetValue<int>());
                Console.WriteLine("              - type:\t\t\t{0}", addressHeader.GetType());
                Console.WriteLine("              - hashcode:\t\t{0}", addressHeader.GetHashCode());
                Console.WriteLine("              - equals addressHeader1:\t{0}", addressHeader.Equals(addressHeader1));
             //   Console.WriteLine("              - Is SOAP1.1 supported:\t{0}", addressHeader.ToMessageHeader().IsMessageVersionSupported(MessageVersion.WSAddressingSoap10));
                Console.WriteLine();
            }
            Console.WriteLine();

            //Add the array of address headers to an endpoint address
            EndpointAddress endpointAddress = new EndpointAddress(
                        new Uri("http://localhost:8003/servicemodelsamples/service"), addressHeaders);

            //Create a "special" service endpoint that uses the endpointAddress.
            string WSHttpBindingName = "Binding1";
            ServiceEndpoint specialServiceEndpoint = new ServiceEndpoint(
                ContractDescription.GetContract(typeof(CalculatorService)), new WSHttpBinding(WSHttpBindingName), endpointAddress
                );

            // Create a ServiceHost for the CalculatorService type that uses the base address.
            ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);

            //Add the specialServiceEndpoint to the serviceHost.
            serviceHost.Description.Endpoints.Add(specialServiceEndpoint);

            // Enumerate the service endpoints and some of their properties from the serviceHost.
            Console.WriteLine("Service endpoints:");
            ServiceDescription desc = serviceHost.Description;
            foreach (ServiceEndpoint endpoint in desc.Endpoints)
            {
                Console.WriteLine("Endpoint - address:  {0}", endpoint.Address);
                Console.WriteLine("         - binding name:\t\t{0}", endpoint.Binding.Name);
                // Console.WriteLine("         - binding name:\t\t{0}", endpoint.);
                Console.WriteLine("         - contract name:\t\t{0}", endpoint.Contract.Name);
                Console.WriteLine("         - contains addressHeader1:\t{0}", endpoint.Address.Headers.Contains(addressHeader1));
                Console.WriteLine("         - count of address headers:\t{0}", endpoint.Address.Headers.Count);
                Console.WriteLine();
            }

            Console.WriteLine();

            // Open the ServiceHostBase to create listeners and start listening for messages.
            serviceHost.Open();

            // The service can now be accessed.
            Console.WriteLine("The service is ready.");
            Console.WriteLine("Press <ENTER> to terminate service.");
            Console.WriteLine();
            Console.ReadLine();

            // Close the ServiceHostBase to shutdown the service.
            serviceHost.Close();

        }
    }
  }

Комментарии

Адрес конечной точки однозначно идентифицирует конечную точку службы.An endpoint address uniquely identifies the endpoint for a service.

Адрес конечной точки относится к конечной точке службы, которая также содержит привязку, контракт и поведения конечной точки.The endpoint address belongs to the service endpoint, which also contains the binding, contract and behaviors for the endpoint.

Класс EndpointAddress содержит универсальный код ресурса (URI) и свойства адреса, включающие удостоверение, элементы WSDL и коллекцию необязательных заголовков.The EndpointAddress contains a URI and address properties that include an identity, WSDL elements, and a collection of optional headers. Необязательные заголовки используются для предоставления дополнительной и более подробной адресной информации для идентификации конечной точки или взаимодействия с ней.The optional headers are used to provide additional, more detailed addressing information to identify or interact with the endpoint. Например, они могут применяться для указания, какой экземпляр службы должен использоваться для обработки входящего сообщения от конкретного пользователя при доступности нескольких экземпляров.For example, they can be used to indicate which instance of a service is to be used to process an incoming message from a particular user when multiple instances are available.

Адрес конечной точки службы можно задать императивно с помощью кода или декларативно с помощью конфигурации.The endpoint address for a service can be specified either imperatively using code or declaratively through configuration. Как правило, определять конечные точки в коде непрактично, поскольку привязки и адреса для развернутой службы чаще всего отличаются от привязок и адресов, используемых в процессе разработки службы.Defining endpoints in code is usually not practical because the bindings and addresses for a deployed service are typically different from those used while the service is being developed. Более практично определять конечные точки службы с помощью конфигурации.It is more practical to define service endpoints using configuration.

Класс EndpointAddress не реализует интерфейс ISerializable и поэтому является несериализуемым.EndpointAddress does not implement the ISerializable interface and so is not serializable. Чтобы конечная точка представлялась в качестве части контракта службы, она должна быть сериализуемой и совместимой с протоколом адресации веб-служб (WS-Addressing).For an endpoint to be exposed as part of a service contract it must be serializable and it must also be compliant with the Web Service Addressing (WS-Addressing) protocol. Сериализуемые конечные точки, совместимые с протоколом WS-Addressing версии 1.0 и версии, вышедшей в августе 2004 г., предоставляются классами EndpointAddress10 и EndpointAddressAugust2004, соответственно.Serializable endpoints that are compliant with version 1.0 and the August 2004 version of WS-Addressing are provided, respectively, by the EndpointAddress10 and EndpointAddressAugust2004 classes.

Конструкторы

EndpointAddress(String) EndpointAddress(String) EndpointAddress(String) EndpointAddress(String)

Инициализирует новый экземпляр класса EndpointAddress с указанной строкой универсального кода ресурса (URI).Initializes a new instance of the EndpointAddress class with a specified URI string.

EndpointAddress(Uri, AddressHeader[]) EndpointAddress(Uri, AddressHeader[]) EndpointAddress(Uri, AddressHeader[]) EndpointAddress(Uri, AddressHeader[])

Инициализирует новый экземпляр класса EndpointAddress с указанными универсальным кодом ресурса (URI) и заголовками.Initializes a new instance of the EndpointAddress class with a specified URI and headers.

EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection) EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection) EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection) EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection)

Инициализирует новый экземпляр класса EndpointAddress с указанными универсальным кодом ресурса (URI), удостоверением и коллекцией заголовков.Initializes a new instance of the EndpointAddress class with a specified URI, identity, and header collection.

EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection, XmlDictionaryReader, XmlDictionaryReader) EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection, XmlDictionaryReader, XmlDictionaryReader) EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection, XmlDictionaryReader, XmlDictionaryReader) EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection, XmlDictionaryReader, XmlDictionaryReader)

Инициализирует новый экземпляр класса EndpointAddress с указанными универсальным кодом ресурса (URI), удостоверением, коллекцией заголовков и средствами чтения метаданных и расширений.Initializes a new instance of the EndpointAddress class with a specified URI, identity, header collection, and metadata and extension readers.

EndpointAddress(Uri, EndpointIdentity, AddressHeader[]) EndpointAddress(Uri, EndpointIdentity, AddressHeader[]) EndpointAddress(Uri, EndpointIdentity, AddressHeader[]) EndpointAddress(Uri, EndpointIdentity, AddressHeader[])

Инициализирует новый экземпляр класса EndpointAddress с указанными универсальным кодом ресурса (URI), удостоверением и заголовками.Initializes a new instance of the EndpointAddress class with a specified URI, identity, and headers.

Свойства

AnonymousUri AnonymousUri AnonymousUri AnonymousUri

Возвращает не зависящее от версии представление анонимного универсального кода ресурса (URI).Gets a version-neutral representation of the anonymous URI.

Headers Headers Headers Headers

Возвращает коллекцию заголовков адресов для конечных точек, которые может создать построитель.Gets the collection of address headers for the endpoints that the builder can create.

Identity Identity Identity Identity

Возвращает удостоверение конечной точки, используемое для проверки ее подлинности.Gets the identity for the endpoint used to authenticate it.

IsAnonymous IsAnonymous IsAnonymous IsAnonymous

Возвращает значение, указывающее, является ли конечная точка анонимной.Gets a value that indicates whether the endpoint is anonymous.

IsNone IsNone IsNone IsNone

Возвращает значение, указывающее, имеет ли универсальный код ресурса (URI) конечной точки значение NoneUri.Gets a value that indicates whether the URI for the endpoint is the NoneUri.

NoneUri NoneUri NoneUri NoneUri

Возвращает не зависящий от версии универсальный код ресурса (URI), используемый для адреса конечной точки, по которому сообщение не должно отправляться.Gets a version-neutral URI used for the address of an endpoint to which a message must not be sent.

Uri Uri Uri Uri

Возвращает универсальный код ресурса (URI) для конечной точки.Gets the URI for the endpoint.

Методы

ApplyTo(Message) ApplyTo(Message) ApplyTo(Message) ApplyTo(Message)

Присваивает универсальный код ресурса (URI) и свойства адреса конечной точки значениям заголовков указанного сообщения.Assigns the URI and properties of the endpoint address to the values of the headers of a specified message.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Возвращает значение, указывающее, эквивалентен ли указанный объект текущему адресу конечной точки.Returns a value that indicates whether a specified object is equivalent to the current endpoint address.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Предоставляет уникальный хэш-код для текущего адреса конечной точки.Provides a unique hash code for the current endpoint address.

GetReaderAtExtensions() GetReaderAtExtensions() GetReaderAtExtensions() GetReaderAtExtensions()

Возвращает средство чтения словаря XML, обеспечивающее доступ к расширениям.Gets the XML dictionary reader that provides access to the extensions.

GetReaderAtMetadata() GetReaderAtMetadata() GetReaderAtMetadata() GetReaderAtMetadata()

Возвращает средство чтения словаря XML, обеспечивающее доступ к метаданным конечной точки.Gets the XML dictionary reader that provides access to the metadata for an endpoint.

GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ReadFrom(AddressingVersion, XmlDictionaryReader) ReadFrom(AddressingVersion, XmlDictionaryReader) ReadFrom(AddressingVersion, XmlDictionaryReader) ReadFrom(AddressingVersion, XmlDictionaryReader)

Осуществляет чтение адреса конечной точки для заданной версии адреса из указанного средства чтения словаря XML.Reads an endpoint address for a specified address version from a specified XML dictionary reader.

ReadFrom(AddressingVersion, XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) ReadFrom(AddressingVersion, XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) ReadFrom(AddressingVersion, XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) ReadFrom(AddressingVersion, XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString)

Осуществляет чтение адреса конечной точки для заданной версии адреса с указанным полным именем из указанного средства чтения словаря XML.Reads an endpoint address for a specified address version with a specified qualified name from a specified XML dictionary reader.

ReadFrom(AddressingVersion, XmlReader) ReadFrom(AddressingVersion, XmlReader) ReadFrom(AddressingVersion, XmlReader) ReadFrom(AddressingVersion, XmlReader)

Осуществляет чтение адреса конечной точки для заданной версии адреса из указанного средства чтения XML.Reads an endpoint address for a specified address version from a specified XML reader.

ReadFrom(AddressingVersion, XmlReader, String, String) ReadFrom(AddressingVersion, XmlReader, String, String) ReadFrom(AddressingVersion, XmlReader, String, String) ReadFrom(AddressingVersion, XmlReader, String, String)

Осуществляет чтение адреса конечной точки для заданной версии адреса с указанным полным именем из указанного средства чтения XML.Reads an endpoint address for a specified address version with a specified qualified name from a specified XML reader.

ReadFrom(XmlDictionaryReader) ReadFrom(XmlDictionaryReader) ReadFrom(XmlDictionaryReader) ReadFrom(XmlDictionaryReader)

Считывает адрес конечной точки из указанного средства чтения словаря XML.Reads an endpoint address from a specified XML dictionary reader.

ReadFrom(XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) ReadFrom(XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) ReadFrom(XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) ReadFrom(XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString)

Осуществляет чтение адреса конечной точки с заданным полным именем из указанного средства чтения словаря XML.Reads an endpoint address with a specified qualified name from a specified XML dictionary reader.

ToString() ToString() ToString() ToString()

Возвращает каноническое представление строки универсального кода ресурса (URI), содержащегося в адресе конечной точки.Returns a canonical string representation of the URI that is contained in the endpoint address.

WriteContentsTo(AddressingVersion, XmlDictionaryWriter) WriteContentsTo(AddressingVersion, XmlDictionaryWriter) WriteContentsTo(AddressingVersion, XmlDictionaryWriter) WriteContentsTo(AddressingVersion, XmlDictionaryWriter)

Сохраняет все дочерние узлы определенного узла в указанном модуле записи словаря XML.Saves all the child nodes of the node to the XML dictionary writer specified.

WriteContentsTo(AddressingVersion, XmlWriter) WriteContentsTo(AddressingVersion, XmlWriter) WriteContentsTo(AddressingVersion, XmlWriter) WriteContentsTo(AddressingVersion, XmlWriter)

Сохраняет все дочерние узлы определенного узла в указанном модуле записи XML.Saves all the child nodes of the node to the XML writer specified.

WriteTo(AddressingVersion, XmlDictionaryWriter) WriteTo(AddressingVersion, XmlDictionaryWriter) WriteTo(AddressingVersion, XmlDictionaryWriter) WriteTo(AddressingVersion, XmlDictionaryWriter)

Сохраняет текущий адрес конечной точки заданной версии в указанном модуле записи словаря XML.Saves the current endpoint address of a specified version to a specified XML dictionary writer.

WriteTo(AddressingVersion, XmlDictionaryWriter, XmlDictionaryString, XmlDictionaryString) WriteTo(AddressingVersion, XmlDictionaryWriter, XmlDictionaryString, XmlDictionaryString) WriteTo(AddressingVersion, XmlDictionaryWriter, XmlDictionaryString, XmlDictionaryString) WriteTo(AddressingVersion, XmlDictionaryWriter, XmlDictionaryString, XmlDictionaryString)

Сохраняет текущий адрес конечной точки заданной версии в модуле записи словаря XML с указанными пространством имен и локальным именем.Saves the current endpoint address of a specified version to an XML dictionary writer with a specified namespace and local name.

WriteTo(AddressingVersion, XmlWriter) WriteTo(AddressingVersion, XmlWriter) WriteTo(AddressingVersion, XmlWriter) WriteTo(AddressingVersion, XmlWriter)

Сохраняет текущий адрес конечной точки заданной версии в указанном модуле записи XML.Saves the current endpoint address of a specified version to a specified XML writer.

WriteTo(AddressingVersion, XmlWriter, String, String) WriteTo(AddressingVersion, XmlWriter, String, String) WriteTo(AddressingVersion, XmlWriter, String, String) WriteTo(AddressingVersion, XmlWriter, String, String)

Сохраняет текущий адрес конечной точки заданной версии в модуле записи XML с указанными пространством имен и локальным именем.Saves the current endpoint address of a specified version to an XML writer with a specified namespace and local name.

Операторы

Equality(EndpointAddress, EndpointAddress) Equality(EndpointAddress, EndpointAddress) Equality(EndpointAddress, EndpointAddress) Equality(EndpointAddress, EndpointAddress)

Возвращает значение, указывающее, являются ли заданные адреса конечных точек неравнозначными.Returns a value that indicates whether specified endpoint addresses are not equivalent.

Inequality(EndpointAddress, EndpointAddress) Inequality(EndpointAddress, EndpointAddress) Inequality(EndpointAddress, EndpointAddress) Inequality(EndpointAddress, EndpointAddress)

Возвращает значение, указывающее, являются ли заданные адреса конечных точек неравнозначными.Returns a value that indicates whether specified endpoint addresses are not equivalent.

Применяется к