MetadataResolver.Resolve Yöntem
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.
Bir meta veri adresini indirir ve bu hizmetin nesnelerine ServiceEndpoint çözümler.
Aşırı Yüklemeler
Resolve(IEnumerable<ContractDescription>, EndpointAddress) |
Belirtilen meta veri adresini kullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler. |
Resolve(Type, EndpointAddress) |
Bir meta veri adresini, belirtilen bir adreste belirtilen bir sözleşme için bir nesne koleksiyonuna ServiceEndpoint indirir ve çözümler. |
Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient) |
Belirtilen meta veri adresini ve MetadataExchangeClientkullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode) |
Belirtilen adres ve aktarım modunu kullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler. |
Resolve(Type, Uri, MetadataExchangeClientMode) |
Belirtilen adres ve aktarım modunu kullanarak belirtilen sözleşmenin nesnelerine ServiceEndpoint bir meta veri adresini çözümler. |
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient) |
Belirtilen adresi, aktarım modunu ve aktarım istemcisini ServiceEndpoint kullanarak belirtilen sözleşmelerin nesnelerine bir meta veri adresini çözümler. |
Açıklamalar
Meta verileri indirmek ancak bilgileri nesnelere çözümlemek ServiceEndpoint için doğrudan kullanın System.ServiceModel.Description.MetadataExchangeClient .
Tüm zaman uyumlu ve zaman uyumsuz Resolve
yöntemler için, hiçbir uç nokta içeri aktarılmadıysa veya sözleşmeyle eşleşen bir uç nokta yoksa boş bir koleksiyon döndürülür. Boş bir koleksiyon döndürülürse bir uyarı izlemesi yazılır.
Resolve(IEnumerable<ContractDescription>, EndpointAddress)
Belirtilen meta veri adresini kullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler.
public:
static System::ServiceModel::Description::ServiceEndpointCollection ^ Resolve(System::Collections::Generic::IEnumerable<System::ServiceModel::Description::ContractDescription ^> ^ contracts, System::ServiceModel::EndpointAddress ^ address);
public static System.ServiceModel.Description.ServiceEndpointCollection Resolve (System.Collections.Generic.IEnumerable<System.ServiceModel.Description.ContractDescription> contracts, System.ServiceModel.EndpointAddress address);
static member Resolve : seq<System.ServiceModel.Description.ContractDescription> * System.ServiceModel.EndpointAddress -> System.ServiceModel.Description.ServiceEndpointCollection
Public Shared Function Resolve (contracts As IEnumerable(Of ContractDescription), address As EndpointAddress) As ServiceEndpointCollection
Parametreler
- contracts
- IEnumerable<ContractDescription>
Meta verilerin indirilip çözümlenmesi için sözleşmeler.
- address
- EndpointAddress
Meta veri adresi.
Döndürülenler
Belirtilen sözleşme için nesne koleksiyonu ServiceEndpoint .
Özel durumlar
Adres veya sözleşme koleksiyonu şeklindedir null
.
contracts
boş, en az bir üyesi contracts
null veya contracts
aynı ad ve ad alanına sahip birden fazla sözleşme içeriyor.
Açıklamalar
üzerindeki varsayılan ayarlar System.ServiceModel.Description.MetadataExchangeClient meta verileri almak için kullanılır ve varsayılan System.ServiceModel.Description.MetadataExchangeClientMode olarak kullanılır MetadataExchangeClientMode.MetadataExchange.
Meta verileri indirmek ancak bilgileri nesnelere çözümlememek ServiceEndpoint için öğesini doğrudan kullanın System.ServiceModel.Description.MetadataExchangeClient .
Not
Hiçbir uç nokta içeri aktarılmadıysa veya sözleşmeyle eşleşen bir uç nokta yoksa boş bir koleksiyon döndürülür. Boş bir koleksiyon döndürülürse bir uyarı izlemesi yazılır.
Şunlara uygulanır
Resolve(Type, EndpointAddress)
Bir meta veri adresini, belirtilen bir adreste belirtilen bir sözleşme için bir nesne koleksiyonuna ServiceEndpoint indirir ve çözümler.
public:
static System::ServiceModel::Description::ServiceEndpointCollection ^ Resolve(Type ^ contract, System::ServiceModel::EndpointAddress ^ address);
public static System.ServiceModel.Description.ServiceEndpointCollection Resolve (Type contract, System.ServiceModel.EndpointAddress address);
static member Resolve : Type * System.ServiceModel.EndpointAddress -> System.ServiceModel.Description.ServiceEndpointCollection
Public Shared Function Resolve (contract As Type, address As EndpointAddress) As ServiceEndpointCollection
Parametreler
- contract
- Type
Meta verilerin indirilip çözümlenmesi için sözleşmeler.
- address
- EndpointAddress
Meta veri adresi.
Döndürülenler
Belirtilen sözleşme için nesne koleksiyonu ServiceEndpoint .
Özel durumlar
Adres veya sözleşme şeklindedir null
.
Örnekler
Aşağıdaki kod örneği, meta verileri bir hizmet örneğine bağlanmak için kullanılan bir nesne koleksiyonu ServiceEndpoint olarak döndürmek için sınıfının kullanımını MetadataResolver gösterir.
// Get the endpoints for such a service
ServiceEndpointCollection endpoints = MetadataResolver.Resolve(typeof(SampleServiceClient), metaAddress);
Console.WriteLine("Trying all available WS-Transfer metadata endpoints...");
foreach (ServiceEndpoint point in endpoints)
{
if (point != null)
{
// Create a new wcfClient using retrieved endpoints.
wcfClient = new SampleServiceClient(point.Binding, point.Address);
Console.WriteLine(
wcfClient.SampleMethod("Client used the "
+ point.Address.ToString()
+ " address.")
);
wcfClient.Close();
}
}
Açıklamalar
Resolve Meta verileri indirirken ve çözerken kullanılacak sözleşmeyi ve meta veri adresini belirtmek için yöntemini kullanın.
üzerindeki varsayılan ayarlar System.ServiceModel.Description.MetadataExchangeClient meta verileri almak için kullanılır ve varsayılan System.ServiceModel.Description.MetadataExchangeClientMode olarak kullanılır MetadataExchangeClientMode.MetadataExchange.
Meta verileri indirmek ancak bilgileri nesnelere çözümlememek ServiceEndpoint için öğesini doğrudan kullanın System.ServiceModel.Description.MetadataExchangeClient .
Not
Hiçbir uç nokta içeri aktarılmadıysa veya sözleşmeyle eşleşen bir uç nokta yoksa boş bir koleksiyon döndürülür. Boş bir koleksiyon döndürülürse bir uyarı izlemesi yazılır.
Bu yöntem, bir sözleşme türü belirtmenizi gerektirir. İstemci kodunda hizmet arabirimini bildirerek veya Svcutil.exe tarafından oluşturulan bir WCF istemcisi kullanarak sözleşmeyi belirtebilirsiniz. Arabirim değişirse (örneğin, yeni bir işlem ekleyerek) istemci kodundaki arabirimi güncelleştirmeniz veya yeni bir WCF istemcisi oluşturmanız gerekir. Bunu yapmazsanız, bir özel durum oluşturulur. Örneğin, Add(), Sub(), Mult() ve Div() tanımlayan ICalculator adlı bir hizmet sözleşmesi uygulayan bir hizmetiniz vardır. Bir istemci uygulaması oluşturur ve WCF istemcisi oluşturursunuz. Ardından ICalculator'a Echo() adlı bir yöntem eklersiniz. Daha sonra yeni bir WCF istemcisi oluşturmadan çağıran Resolve(Type, EndpointAddress) bir uygulama yazarsanız aşağıdaki özel durumu alırsınız.
Unhandled Exception: System.ServiceModel.Description.WsdlImporter+WsdlImportException: Cannot locate operation Echo in Contract ICalculator
.
Şunlara uygulanır
Resolve(IEnumerable<ContractDescription>, EndpointAddress, MetadataExchangeClient)
Belirtilen meta veri adresini ve MetadataExchangeClientkullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler.
public:
static System::ServiceModel::Description::ServiceEndpointCollection ^ Resolve(System::Collections::Generic::IEnumerable<System::ServiceModel::Description::ContractDescription ^> ^ contracts, System::ServiceModel::EndpointAddress ^ address, System::ServiceModel::Description::MetadataExchangeClient ^ client);
public static System.ServiceModel.Description.ServiceEndpointCollection Resolve (System.Collections.Generic.IEnumerable<System.ServiceModel.Description.ContractDescription> contracts, System.ServiceModel.EndpointAddress address, System.ServiceModel.Description.MetadataExchangeClient client);
static member Resolve : seq<System.ServiceModel.Description.ContractDescription> * System.ServiceModel.EndpointAddress * System.ServiceModel.Description.MetadataExchangeClient -> System.ServiceModel.Description.ServiceEndpointCollection
Public Shared Function Resolve (contracts As IEnumerable(Of ContractDescription), address As EndpointAddress, client As MetadataExchangeClient) As ServiceEndpointCollection
Parametreler
- contracts
- IEnumerable<ContractDescription>
Meta verilerin indirilip çözümlenmesi için sözleşmeler.
- address
- EndpointAddress
Meta veri adresi.
- client
- MetadataExchangeClient
Meta MetadataExchangeClient verileri almak için kullanılır.
Döndürülenler
Belirtilen sözleşme için nesne koleksiyonu ServiceEndpoint .
Özel durumlar
Adres, sözleşme koleksiyonu veya istemci şeklindedir null
.
contracts
boş, en az bir üyesi contracts
null veya contracts
aynı ad ve ad alanına sahip birden fazla sözleşme içeriyor.
Açıklamalar
Varsayılan değerdir System.ServiceModel.Description.MetadataExchangeClientMode MetadataExchangeClientMode.MetadataExchange.
Meta verileri indirmek ancak bilgileri nesnelere çözümlememek ServiceEndpoint için öğesini doğrudan kullanın System.ServiceModel.Description.MetadataExchangeClient .
Not
Hiçbir uç nokta içeri aktarılmadıysa veya sözleşmeyle eşleşen bir uç nokta yoksa boş bir koleksiyon döndürülür. Boş bir koleksiyon döndürülürse bir uyarı izlemesi yazılır.
Şunlara uygulanır
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode)
Belirtilen adres ve aktarım modunu kullanarak belirtilen sözleşmelerin nesnelerine ServiceEndpoint bir meta veri adresini çözümler.
public:
static System::ServiceModel::Description::ServiceEndpointCollection ^ Resolve(System::Collections::Generic::IEnumerable<System::ServiceModel::Description::ContractDescription ^> ^ contracts, Uri ^ address, System::ServiceModel::Description::MetadataExchangeClientMode mode);
public static System.ServiceModel.Description.ServiceEndpointCollection Resolve (System.Collections.Generic.IEnumerable<System.ServiceModel.Description.ContractDescription> contracts, Uri address, System.ServiceModel.Description.MetadataExchangeClientMode mode);
static member Resolve : seq<System.ServiceModel.Description.ContractDescription> * Uri * System.ServiceModel.Description.MetadataExchangeClientMode -> System.ServiceModel.Description.ServiceEndpointCollection
Public Shared Function Resolve (contracts As IEnumerable(Of ContractDescription), address As Uri, mode As MetadataExchangeClientMode) As ServiceEndpointCollection
Parametreler
- contracts
- IEnumerable<ContractDescription>
Meta verilerin indirilip çözümlenmesi için sözleşmeler.
- address
- Uri
Meta veri adresi.
Alma modu.
Döndürülenler
Belirtilen sözleşme için nesne koleksiyonu ServiceEndpoint .
Özel durumlar
Adres veya sözleşme koleksiyonu şeklindedir null
.
contracts
boş, en az bir üyesi contracts
null veya contracts
aynı ad ve ad alanına sahip birden fazla sözleşme içeriyor.
Açıklamalar
üzerindeki varsayılan ayarlar System.ServiceModel.Description.MetadataExchangeClient meta verileri almak için kullanılır.
Meta verileri indirmek ancak bilgileri nesnelere çözümlememek ServiceEndpoint için öğesini doğrudan kullanın System.ServiceModel.Description.MetadataExchangeClient .
Not
Hiçbir uç nokta içeri aktarılmadıysa veya sözleşmeyle eşleşen bir uç nokta yoksa boş bir koleksiyon döndürülür. Boş bir koleksiyon döndürülürse bir uyarı izlemesi yazılır.
Şunlara uygulanır
Resolve(Type, Uri, MetadataExchangeClientMode)
Belirtilen adres ve aktarım modunu kullanarak belirtilen sözleşmenin nesnelerine ServiceEndpoint bir meta veri adresini çözümler.
public:
static System::ServiceModel::Description::ServiceEndpointCollection ^ Resolve(Type ^ contract, Uri ^ address, System::ServiceModel::Description::MetadataExchangeClientMode mode);
public static System.ServiceModel.Description.ServiceEndpointCollection Resolve (Type contract, Uri address, System.ServiceModel.Description.MetadataExchangeClientMode mode);
static member Resolve : Type * Uri * System.ServiceModel.Description.MetadataExchangeClientMode -> System.ServiceModel.Description.ServiceEndpointCollection
Public Shared Function Resolve (contract As Type, address As Uri, mode As MetadataExchangeClientMode) As ServiceEndpointCollection
Parametreler
- contract
- Type
Meta verilerin indirilip çözümlenmesi için sözleşme.
- address
- Uri
Meta veri adresi.
Alma modu.
Döndürülenler
Belirtilen sözleşme için nesne koleksiyonu ServiceEndpoint .
Özel durumlar
Adres veya sözleşme şeklindedir null
.
Örnekler
Aşağıdaki kod örneği, WS-Transfer yerine HTTP GET isteği kullanan bir nesne koleksiyonu ServiceEndpoint olarak meta verileri indirmek ve döndürmek için kullanımını MetadataResolver gösterir.
// Get the endpoints for such a service using Http/Get request
endpoints = MetadataResolver.Resolve(typeof(SampleServiceClient), httpGetMetaAddress.Uri, MetadataExchangeClientMode.HttpGet);
Client.WriteParameters(endpoints);
ISampleService serviceChannel;
Console.WriteLine(
"\r\nTrying all endpoints from HTTP/Get and with direct service channels...");
foreach (ServiceEndpoint point in endpoints)
{
if (point != null)
{
ChannelFactory<ISampleService> factory = new ChannelFactory<ISampleService>(point.Binding);
factory.Endpoint.Address = point.Address;
serviceChannel = factory.CreateChannel();
Console.WriteLine("Client used the " + point.Address.ToString() + " address.");
Console.WriteLine(
serviceChannel.SampleMethod(
"Client used the " + point.Address.ToString() + " address."
)
);
factory.Close();
}
}
Açıklamalar
Resolve Bir sözleşme, adres ve kullanılacak indirme mekanizmasını belirtmek için yöntemini kullanın.
üzerindeki varsayılan ayarlar System.ServiceModel.Description.MetadataExchangeClient meta verileri almak için kullanılır.
Meta verileri indirmek ancak bilgileri nesnelere çözümlememek ServiceEndpoint için öğesini doğrudan kullanın System.ServiceModel.Description.MetadataExchangeClient .
Not
Hiçbir uç nokta içeri aktarılmadıysa veya sözleşmeyle eşleşen bir uç nokta yoksa boş bir koleksiyon döndürülür. Boş bir koleksiyon döndürülürse bir uyarı izlemesi yazılır.
Şunlara uygulanır
Resolve(IEnumerable<ContractDescription>, Uri, MetadataExchangeClientMode, MetadataExchangeClient)
Belirtilen adresi, aktarım modunu ve aktarım istemcisini ServiceEndpoint kullanarak belirtilen sözleşmelerin nesnelerine bir meta veri adresini çözümler.
public:
static System::ServiceModel::Description::ServiceEndpointCollection ^ Resolve(System::Collections::Generic::IEnumerable<System::ServiceModel::Description::ContractDescription ^> ^ contracts, Uri ^ address, System::ServiceModel::Description::MetadataExchangeClientMode mode, System::ServiceModel::Description::MetadataExchangeClient ^ client);
public static System.ServiceModel.Description.ServiceEndpointCollection Resolve (System.Collections.Generic.IEnumerable<System.ServiceModel.Description.ContractDescription> contracts, Uri address, System.ServiceModel.Description.MetadataExchangeClientMode mode, System.ServiceModel.Description.MetadataExchangeClient client);
static member Resolve : seq<System.ServiceModel.Description.ContractDescription> * Uri * System.ServiceModel.Description.MetadataExchangeClientMode * System.ServiceModel.Description.MetadataExchangeClient -> System.ServiceModel.Description.ServiceEndpointCollection
Public Shared Function Resolve (contracts As IEnumerable(Of ContractDescription), address As Uri, mode As MetadataExchangeClientMode, client As MetadataExchangeClient) As ServiceEndpointCollection
Parametreler
- contracts
- IEnumerable<ContractDescription>
Meta verilerin indirilip çözümlenmesi için sözleşmeler.
- address
- Uri
Meta veri adresi.
Alma modu.
- client
- MetadataExchangeClient
Meta MetadataExchangeClient verileri almak için kullanılır.
Döndürülenler
Belirtilen sözleşme için nesne koleksiyonu ServiceEndpoint .
Özel durumlar
Adres, sözleşme koleksiyonu veya istemci şeklindedir null
.
contracts
boş, en az bir üyesi contracts
null veya contracts
aynı ad ve ad alanına sahip birden fazla sözleşme içeriyor.
Açıklamalar
Meta verileri indirmek ancak bilgileri nesnelere çözümlememek ServiceEndpoint için öğesini doğrudan kullanın System.ServiceModel.Description.MetadataExchangeClient .
Not
Hiçbir uç nokta içeri aktarılmadıysa veya sözleşmeyle eşleşen bir uç nokta yoksa boş bir koleksiyon döndürülür. Boş bir koleksiyon döndürülürse bir uyarı izlemesi yazılır.