EndpointAddress Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan alamat jaringan unik yang digunakan klien untuk berkomunikasi dengan titik akhir layanan.
public ref class EndpointAddress
public class EndpointAddress
type EndpointAddress = class
Public Class EndpointAddress
- Warisan
-
EndpointAddress
Contoh
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();
}
}
}
Keterangan
Alamat titik akhir secara unik mengidentifikasi titik akhir untuk layanan.
Alamat titik akhir milik titik akhir layanan, yang juga berisi pengikatan, kontrak, dan perilaku untuk titik akhir.
EndpointAddress berisi properti URI dan alamat yang menyertakan identitas, elemen WSDL, dan kumpulan header opsional. Header opsional digunakan untuk memberikan informasi alamat tambahan yang lebih rinci untuk mengidentifikasi atau berinteraksi dengan titik akhir. Misalnya, mereka dapat digunakan untuk menunjukkan instans layanan mana yang akan digunakan untuk memproses pesan masuk dari pengguna tertentu saat beberapa instans tersedia.
Alamat titik akhir untuk layanan dapat ditentukan baik secara imperatif menggunakan kode atau secara deklaratif melalui konfigurasi. Menentukan titik akhir dalam kode biasanya tidak praktis karena pengikatan dan alamat untuk layanan yang disebarkan biasanya berbeda dari yang digunakan saat layanan sedang dikembangkan. Lebih praktis untuk menentukan titik akhir layanan menggunakan konfigurasi.
EndpointAddress tidak mengimplementasikan ISerializable antarmuka dan sebagainya tidak dapat diserialisasikan. Agar titik akhir diekspos sebagai bagian dari kontrak layanan, titik akhir harus dapat diserialisasikan dan juga harus mematuhi protokol Web Service Addressing (WS-Addressing). Titik akhir yang dapat diserialisasikan yang sesuai dengan versi 1.0 dan versi WS-Addressing Agustus 2004 disediakan, masing-masing, oleh EndpointAddress10 kelas dan EndpointAddressAugust2004 .
Konstruktor
| Nama | Deskripsi |
|---|---|
| EndpointAddress(String) |
Menginisialisasi instans EndpointAddress baru kelas dengan string URI tertentu. |
| EndpointAddress(Uri, AddressHeader[]) |
Menginisialisasi instans EndpointAddress baru kelas dengan URI dan header tertentu. |
| EndpointAddress(Uri, EndpointIdentity, AddressHeader[]) |
Menginisialisasi instans EndpointAddress baru kelas dengan URI, identitas, dan header tertentu. |
| EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection, XmlDictionaryReader, XmlDictionaryReader) |
Menginisialisasi instans EndpointAddress baru kelas dengan URI, identitas, koleksi header, dan metadata dan pembaca ekstensi tertentu. |
| EndpointAddress(Uri, EndpointIdentity, AddressHeaderCollection) |
Menginisialisasi instans EndpointAddress baru kelas dengan URI, identitas, dan koleksi header tertentu. |
Properti
| Nama | Deskripsi |
|---|---|
| AnonymousUri |
Mendapatkan representasi versi netral dari URI anonim. |
| Headers |
Mendapatkan kumpulan header alamat untuk titik akhir yang dapat dibuat oleh penyusun. |
| Identity |
Mendapatkan identitas untuk titik akhir yang digunakan untuk mengautentikasinya. |
| IsAnonymous |
Mendapatkan nilai yang menunjukkan apakah titik akhir bersifat anonim. |
| IsNone |
Mendapatkan nilai yang menunjukkan apakah URI untuk titik akhir adalah NoneUri. |
| NoneUri |
Mendapatkan URI netral versi yang digunakan untuk alamat titik akhir tempat pesan tidak boleh dikirim. |
| Uri |
Mendapatkan URI untuk titik akhir. |
Metode
| Nama | Deskripsi |
|---|---|
| ApplyTo(Message) |
Menetapkan URI dan properti alamat titik akhir ke nilai header pesan tertentu. |
| Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah objek tertentu setara dengan alamat titik akhir saat ini. |
| GetHashCode() |
Menyediakan kode hash unik untuk alamat titik akhir saat ini. |
| GetReaderAtExtensions() |
Mendapatkan pembaca kamus XML yang menyediakan akses ke ekstensi. |
| GetReaderAtMetadata() |
Mendapatkan pembaca kamus XML yang menyediakan akses ke metadata untuk titik akhir. |
| GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ReadFrom(AddressingVersion, XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) |
Membaca alamat titik akhir untuk versi alamat tertentu dengan nama yang memenuhi syarat tertentu dari pembaca kamus XML tertentu. |
| ReadFrom(AddressingVersion, XmlDictionaryReader) |
Membaca alamat titik akhir untuk versi alamat tertentu dari pembaca kamus XML tertentu. |
| ReadFrom(AddressingVersion, XmlReader, String, String) |
Membaca alamat titik akhir untuk versi alamat tertentu dengan nama yang memenuhi syarat tertentu dari pembaca XML tertentu. |
| ReadFrom(AddressingVersion, XmlReader) |
Membaca alamat titik akhir untuk versi alamat tertentu dari pembaca XML tertentu. |
| ReadFrom(XmlDictionaryReader, XmlDictionaryString, XmlDictionaryString) |
Membaca alamat titik akhir dengan nama yang memenuhi syarat tertentu dari pembaca kamus XML tertentu. |
| ReadFrom(XmlDictionaryReader) |
Membaca alamat titik akhir dari pembaca kamus XML tertentu. |
| ToString() |
Mengembalikan representasi string kanonis dari URI yang terkandung dalam alamat titik akhir. |
| WriteContentsTo(AddressingVersion, XmlDictionaryWriter) |
Menyimpan semua simpul anak dari simpul ke penulis kamus XML yang ditentukan. |
| WriteContentsTo(AddressingVersion, XmlWriter) |
Menyimpan semua simpul anak dari simpul ke penulis XML yang ditentukan. |
| WriteTo(AddressingVersion, XmlDictionaryWriter, XmlDictionaryString, XmlDictionaryString) |
Menyimpan alamat titik akhir saat ini dari versi tertentu ke penulis kamus XML dengan namespace tertentu dan nama lokal. |
| WriteTo(AddressingVersion, XmlDictionaryWriter) |
Menyimpan alamat titik akhir saat ini dari versi tertentu ke penulis kamus XML tertentu. |
| WriteTo(AddressingVersion, XmlWriter, String, String) |
Menyimpan alamat titik akhir saat ini dari versi yang ditentukan ke penulis XML dengan namespace layanan dan nama lokal tertentu. |
| WriteTo(AddressingVersion, XmlWriter) |
Menyimpan alamat titik akhir saat ini dari versi tertentu ke penulis XML tertentu. |
Operator
| Nama | Deskripsi |
|---|---|
| Equality(EndpointAddress, EndpointAddress) |
Mengembalikan nilai yang menunjukkan apakah alamat titik akhir yang ditentukan tidak setara. |
| Inequality(EndpointAddress, EndpointAddress) |
Mengembalikan nilai yang menunjukkan apakah alamat titik akhir yang ditentukan tidak setara. |