IInteractiveChannelInitializer Arabirim
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 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:
Kullanıcıya sorun ve uygun System.Net.NetworkCredentialbir alın.
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.
Dönüş.
IInteractiveChannelInitializerEklemek için:
sınıfındaki IEndpointBehavior.ApplyClientBehavior yöntemini System.ServiceModel.Description.ClientCredentials geçersiz kılın.
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:
ClientBase<TChannel>.DisplayInitializationUI veya IClientChannel.DisplayInitializationUI (ya da zaman uyumsuz bir sürümü) çağır.
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.
Ç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) . |