EndpointAddress Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İstemcinin hizmet uç noktasıyla iletişim kurmak için kullandığı benzersiz bir ağ adresi sağlar.
public ref class EndpointAddress
public class EndpointAddress
type EndpointAddress = class
Public Class EndpointAddress
- Devralma
-
EndpointAddress
Örnekler
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();
}
}
}
Açıklamalar
Uç nokta adresi, bir hizmet için uç noktayı benzersiz olarak tanımlar.
Uç nokta adresi hizmet uç noktasına aittir ve uç noktanın bağlamasını, sözleşmesini ve davranışlarını da içerir.
bir EndpointAddress kimlik, WSDL öğeleri ve isteğe bağlı üst bilgiler koleksiyonu içeren bir URI ve adres özellikleri içerir. İsteğe bağlı üst bilgiler, uç noktayı tanımlamak veya bunlarla etkileşime geçmek için ek, daha ayrıntılı adresleme bilgileri sağlamak için kullanılır. Örneğin, birden çok örnek kullanılabilir olduğunda belirli bir kullanıcıdan gelen bir iletiyi işlemek için hangi hizmet örneğinin kullanılacağını belirtmek için kullanılabilir.
Bir hizmetin uç nokta adresi, kod kullanılarak kesin olarak veya yapılandırma aracılığıyla bildirim temelli olarak belirtilebilir. Dağıtılan bir hizmetin bağlamaları ve adresleri genellikle hizmet geliştirilirken kullanılanlardan farklı olduğundan, kodda uç noktaları tanımlamak genellikle pratik değildir. Yapılandırmayı kullanarak hizmet uç noktalarını tanımlamak daha pratiktir.
EndpointAddress arabirimini ISerializable uygulamaz ve bu nedenle serileştirilebilir değildir. Bir uç noktanın bir hizmet sözleşmesinin parçası olarak kullanıma sunulacak olması için seri hale getirilebilir olması ve ayrıca Web Hizmeti Adresleme (WS-Addressing) protokolüyle uyumlu olması gerekir. sürüm 1.0 ve WS-Addressing Ağustos 2004 sürümüyle uyumlu serileştirilebilir uç noktalar sırasıyla ve EndpointAddress10 sınıfları tarafından EndpointAddressAugust2004 sağlanır.
Oluşturucular
| Name | Description |
|---|---|
| EndpointAddress(String) |
Belirtilen URI dizesiyle sınıfının yeni bir örneğini EndpointAddress başlatır. |
| EndpointAddress(Uri, AddressHeader[]) |
Belirtilen URI ve üst bilgilerle sınıfının yeni bir örneğini EndpointAddress başlatır. |
| EndpointAddress(Uri, EndpointIdentity, AddressHeader[]) |
Belirtilen URI, kimlik ve üst bilgilerle sınıfının yeni bir örneğini EndpointAddress başlatır. |
| EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection, XmlDictionaryReader, XmlDictionaryReader) |
Sınıfın EndpointAddress yeni bir örneğini belirtilen URI, kimlik, üst bilgi koleksiyonu ve meta veri ve uzantı okuyucularla başlatır. |
| EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection) |
Sınıfın EndpointAddress yeni bir örneğini belirtilen URI, kimlik ve üst bilgi koleksiyonuyla başlatır. |
Özellikler
| Name | Description |
|---|---|
| AnonymousUri |
Anonim URI'nin sürümden bağımsız bir gösterimini alır. |
| Headers |
Oluşturucunun oluşturabileceği uç noktalar için adres üst bilgileri koleksiyonunu alır. |
| Identity |
Kimlik doğrulaması için kullanılan uç noktanın kimliğini alır. |
| IsAnonymous |
Uç noktanın anonim olup olmadığını gösteren bir değer alır. |
| IsNone |
Uç noktanın NoneUriURI'sinin değeri olup olmadığını gösteren bir değer alır. |
| NoneUri |
İletinin gönderilmemesi gereken bir uç noktanın adresi için kullanılan sürümden bağımsız URI'yi alır. |
| Uri |
Uç nokta için URI'yi alır. |
Yöntemler
| Name | Description |
|---|---|
| ApplyTo(Message) |
Belirtilen iletinin üst bilgilerinin değerlerine uç nokta adresinin URI'sini ve özelliklerini atar. |
| Equals(Object) |
Belirtilen bir nesnenin geçerli uç nokta adresiyle eşdeğer olup olmadığını gösteren bir değer döndürür. |
| GetHashCode() |
Geçerli uç nokta adresi için benzersiz bir karma kodu sağlar. |
| GetReaderAtExtensions() |
Uzantılara erişim sağlayan XML sözlük okuyucuyu alır. |
| GetReaderAtMetadata() |
Bir uç noktanın meta verilerine erişim sağlayan XML sözlük okuyucusunu alır. |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ReadFrom(AddressingVersion, XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) |
Belirtilen xml sözlük okuyucusundan belirtilen nitelenmiş ada sahip belirtilen bir adres sürümü için uç nokta adresini okur. |
| ReadFrom(AddressingVersion, XmlDictionaryReader) |
Belirtilen bir XML sözlük okuyucusundan belirtilen adres sürümü için bir uç nokta adresi okur. |
| ReadFrom(AddressingVersion, XmlReader, String, String) |
Belirtilen xml okuyucusundan belirtilen nitelenmiş ada sahip belirtilen bir adres sürümü için uç nokta adresini okur. |
| ReadFrom(AddressingVersion, XmlReader) |
Belirtilen bir XML okuyucusundan belirtilen adres sürümü için uç nokta adresini okur. |
| ReadFrom(XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) |
Belirtilen XML sözlük okuyucusundan belirtilen nitelenmiş ada sahip bir uç nokta adresini okur. |
| ReadFrom(XmlDictionaryReader) |
Belirtilen XML sözlük okuyucusundan bir uç nokta adresi okur. |
| ToString() |
Uç nokta adresinde yer alan URI'nin kurallı dize gösterimini döndürür. |
| WriteContentsTo(AddressingVersion, XmlDictionaryWriter) |
Düğümün tüm alt düğümlerini belirtilen XML sözlük yazıcısına kaydeder. |
| WriteContentsTo(AddressingVersion, XmlWriter) |
Düğümün tüm alt düğümlerini belirtilen XML yazıcısına kaydeder. |
| WriteTo(AddressingVersion, XmlDictionaryWriter, XmlDictionaryString, XmlDictionaryString) |
Belirtilen sürümün geçerli uç nokta adresini, belirtilen ad alanı ve yerel ada sahip bir XML sözlük yazıcısına kaydeder. |
| WriteTo(AddressingVersion, XmlDictionaryWriter) |
Belirtilen sürümün geçerli uç nokta adresini belirtilen XML sözlük yazıcısına kaydeder. |
| WriteTo(AddressingVersion, XmlWriter, String, String) |
Belirtilen sürümün geçerli uç nokta adresini, belirtilen ad alanına ve yerel ada sahip bir XML yazıcısına kaydeder. |
| WriteTo(AddressingVersion, XmlWriter) |
Belirtilen sürümün geçerli uç nokta adresini belirtilen XML yazıcısına kaydeder. |
İşleçler
| Name | Description |
|---|---|
| Equality(EndpointAddress, EndpointAddress) |
Belirtilen uç nokta adreslerinin eşdeğer olup olmadığını gösteren bir değer döndürür. |
| Inequality(EndpointAddress, EndpointAddress) |
Belirtilen uç nokta adreslerinin eşdeğer olup olmadığını gösteren bir değer döndürür. |