Aracılığıyla paylaş


IInteractiveChannelInitializer Arabirim

Tanım

Bir istemci uygulamasının kanalı oluşturmadan önce kimlik bilgilerini toplamak üzere bir kullanıcı arabirimi görüntülemesini sağlayan yöntemleri tanımlar.

public interface class IInteractiveChannelInitializer
public interface IInteractiveChannelInitializer
type IInteractiveChannelInitializer = interface
Public Interface IInteractiveChannelInitializer
Türetilmiş

Açıklamalar

bir istemci uygulamasının IInteractiveChannelInitializer , bir kanalı açmadan önce uygulama kullanıcısının kimlik bilgilerini oluşturmasını veya seçmesini sağlayan bir kullanıcı arabirimi görüntülemesini sağlamak için arabirimini uygulayın.

uygulamasını uygulamak IInteractiveChannelInitializeriçin içinde aşağıdaki adımları gerçekleştirin IInteractiveChannelInitializer.BeginDisplayInitializationUI:

  1. Kullanıcıya sorun ve uygun System.Net.NetworkCredentialbir alın.

  2. türü parametresiyle nesnesinde yöntemi tarafından IChannel.GetProperty döndürülen koleksiyona IClientChannel özel bir kanal parametresi System.ServiceModel.Channels.ChannelParameterCollectionnesnesi ekleyin. Bu kanal parametresi nesnesi, kanalın güvenlik belirteçlerini oluşturmak için özel System.ServiceModel.ClientCredentialsSecurityTokenManager tarafından kullanılır.

  3. Dönüş.

IInteractiveChannelInitializerEklemek için:

  1. sınıfındaki IEndpointBehavior.ApplyClientBehavior yöntemini System.ServiceModel.Description.ClientCredentials geçersiz kılın.

  2. Bu yöntemde uç noktanın bir IInteractiveChannelInitializer gerekip gerekmediğini belirleyin ve gerekliyse öğesini koleksiyona ClientRuntime.InteractiveChannelInitializers ekleyinIInteractiveChannelInitializer.

Uygulama geliştiricilerinin eklenen IInteractiveChannelInitializer'i kullanabilmesinin iki yolu vardır. İstemci uygulaması, kanalı açmadan önce veya IClientChannel.DisplayInitializationUI (veya zaman uyumsuz bir sürüm) çağırabilir ClientBase<TChannel>.DisplayInitializationUI (açık yaklaşım) veya yalnızca ilk işlemi (örtük yaklaşım) çağırabilir.

Örtük yaklaşımı kullanıyorsanız, uygulamanın bir ClientBase<TChannel> veya IClientChannel uzantısında ilk işlemi çağırması gerekir. İlk işlemden farklı bir şey çağırılırsa, bir hata oluşturulur.

Açık yaklaşımı kullanıyorsanız, uygulamanın aşağıdaki adımları sırayla gerçekleştirmesi gerekir:

  1. ClientBase<TChannel>.DisplayInitializationUI veya IClientChannel.DisplayInitializationUI (ya da zaman uyumsuz bir sürümü) çağır.

  2. Başlatıcılar döndüğünde, Open nesnesindeki IClientChannel yöntemini veya IClientChannel özelliğinden döndürülen ClientBase<TChannel>.InnerChannel nesnesindeki yöntemi çağırın.

  3. Çağrı işlemleri.

Üretim kalitesinde uygulamaların açık yaklaşımı benimseyerek kullanıcı arabirimi işlemini denetlemesi önerilir.

Örtük yaklaşımı kullanan uygulamalar, kullanıcı arabirimi başlatıcılarını çağırır ve uygulamanın kullanıcısı bağlayıcının gönderim zaman aşımı süresi içinde yanıt vermezse, kullanıcı arabirimi geri döndüğünde bir istisna fırlatılır.

Yöntemler

Name Description
BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object)

Kimlik bilgileri almak için kullanıcı arabirimi kullanmaya başlamak için zaman uyumsuz çağrı.

EndDisplayInitializationUI(IAsyncResult)

tamamlandığında çağrılır BeginDisplayInitializationUI(IClientChannel, AsyncCallback, Object) .

Şunlara uygulanır