Düzeltme: güvenli iletiler göndermek için güvenli olmayan yanıtları almak ve güvenli iletiler göndermek için ve güvenli yanıtlarını almak için WCF sağlayan bir düzeltme .NET Framework 3.5 SP1 için kullanılabilir.

GİRİŞ

Windows Communication Foundation (WCF) güvenli iletiler göndermek ve sonra güvenli olmayan yanıtları almak için veya güvenli ileti göndermek ve güvenli yanıtları almak için işlevi yok. Bu makalede açıklanan düzeltme, yeni bir enableUnsecuredResponse özniteliği ekler. EnableUnsecuredResponse özniteliğinin varsayılan değeri False'tur. Bu özniteliğin değeri trueolarak ayarlarsanız, aşağıdaki yeni özellikleri içinde WCF etkinleştirilir:

  • Giden iletilere ileti metnini imzalamak için Güvenli Yuva Katmanı (SSL) protokolünü kullanarak güvenli olsa bile WCF istemcilerinin güvenli olmayan yanıtları kabul edebilirsiniz.

  • WCF hizmetleri isteği güvenli olsa bile, hiçbir güvenlik üstbilgisi olan SOAP zarflarını güvenli olmayan yanıtlar gönderebilirsiniz.

Not: EnableUnsecuredResponse özniteliği, yalnızca yalnızca CustomBinding türü için geçerlidir.

Çözüm

.NET Framework 3.0 kullanıyorsanız, aşağıdaki Microsoft Bilgi alarak makalesinde açıklanan düzeltmeyi yükleyin:

967105 düzeltme: yanıtlar sağlayan güvenli iletileri göndermek ve almak WCF düzeltme güvenli ve güvenli olmayan iletileri göndermek ve güvenli yanıtları almak için .NET Framework 3.0 için kullanılabilirWindows 7 veya Windows Server 2008 R2 üzerinde .NET Framework 3.5 Service Pack 1 kullanıyorsanız, aşağıdaki Microsoft Bilgi alarak makalesinde açıklanan düzeltmeyi yükleyin:

977420 Windows Communication Foundation, .NET Framework 3.5 SP1 için Windows 7 ve Windows Server 2008 R2'de sorunları düzeltmek düzeltme toplaması kullanılabilir
Diğer işletim sistemlerinde .NET Framework 3.5 Service Pack 1 kullanıyorsanız, bu sorunu gidermek için aşağıdaki düzeltmeyi yükleyin.

Artık Microsoft tarafından desteklenen bir düzeltme sağlanmaktadır. Ancak bunun yalnızca bu makalede anlatılan sorunu düzeltmesi amaçlanmıştır. Yalnızca bu özel sorunla karşılaşmış olan sistemlere uygulayın. Bu düzeltme ek sınama uygulanabilir. Bu nedenle, bu sorundan ciddi bir şekilde etkilemiyorsa, bu düzeltmeyi içeren bir sonraki hizmet paketini beklemenizi öneririz.

Bu sorunu hemen düzeltmek için düzeltmeyi edinmek üzere Microsoft Müşteri Destek Hizmetleri'ne başvurun. Microsoft Müşteri Destek Hizmetleri telefon numaralarının ve destek ücretleriyle ilgili bilgi tam listesi için aşağıdaki Microsoft Web sitesini ziyaret edin:

http://support.microsoft.com/contactus/?ws=supportNot: Özel durumlarda, Microsoft Destek Uzmanı özel bir güncelleştirmenin sorununuzu çözeceğini belirlerse, destek aramaları için normalde uygulanan ücretler iptal edilebilir. Ek destek sorularına ve söz konusu güncelleştirme için geçerli olmayan sorunlara normal destek ücretleri uygulanır.

Önkoşullar

Bu düzeltmeyi uygulamak için .NET Framework 3.5 Service Pack 1 olmalıdır.

Yeniden başlatma gereksinimi

.NET Framework'ün örneği yok kullanılıyorsa, bu düzeltmeyi uyguladıktan sonra bilgisayarı yeniden başlatmanız gerekmez.

Düzeltme değiştirme bilgileri

Bu düzeltme eki, başka düzeltmelerin yerini almaz.

Dosya bilgileri

Bu düzeltmenin İngilizce sürümü, aşağıdaki tabloda listelenen dosya özniteliklerine (veya daha yeni dosya özniteliklerine) sahiptir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'te (UTC) listelenmiştir. Dosya bilgilerini görüntülediğinizde koordinatlı evrensel saat yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için Denetim Masası'ndaki Tarih ve Saat öğesinde Saat Dilimi sekmesini kullanın.

Windows Server 2003'ün ve Windows XP'nin tüm x86 tabanlı sürümler için dosya bilgileri

Dosya adı

Dosya sürümü

Dosya boyutu

Tarih

Saat

Platform

Servicemonikersupport.dll

3.0.4506.4119

17,240

01-Haz-2009

22:56

x86

System.runtime.serialization.dll

3.0.4506.4119

970,752

01-Haz-2009

22:56

x86

System.servicemodel.dll

3.0.4506.4119

5,931,008

01-Haz-2009

22:56

x86

Windows Server 2003'ün ve Windows XP'nin tüm x64 tabanlı sürümler için dosya bilgileri

Dosya adı

Dosya sürümü

Dosya boyutu

Tarih

Saat

Platform

Servicemonikersupport.dll

3.0.4506.4119

19,304

01-Haz-2009

22:28

x64

System.runtime.serialization.dll

3.0.4506.4119

847,872

01-Haz-2009

22:28

x64

System.servicemodel.dll

3.0.4506.4119

5,267,456

01-Haz-2009

22:28

x64

Windows Vista SP2 ve Windows Server 2008 SP2'in tüm x86 tabanlı sürümler için dosya bilgileri

Dosya adı

Dosya sürümü

Dosya boyutu

Tarih

Saat

Servicemonikersupport.dll

3.0.4506.4120

17,240

10-Jun-2009

06:55

System.runtime.serialization.dll

3.0.4506.4120

970,752

10-Jun-2009

06:55

System.servicemodel.dll

3.0.4506.4120

5,935,104

10-Jun-2009

06:55

Windows Vista SP2 ve Windows Server 2008 SP2'in tüm x64 tabanlı sürümler için dosya bilgileri

Dosya adı

Dosya sürümü

Dosya boyutu

Tarih

Saat

Platform

Servicemonikersupport.dll

3.0.4506.4120

19,288

10-Jun-2009

06:56

x64

System.runtime.serialization.dll

3.0.4506.4120

847,872

10-Jun-2009

06:56

x64

System.servicemodel.dll

3.0.4506.4120

5,271,552

10-Jun-2009

06:56

x64

Tüm Windows Server 2008 SP2'in Itanium tabanlı sürümleri için dosya bilgileri

Dosya adı

Dosya sürümü

Dosya boyutu

Tarih

Saat

Platform

Servicemonikersupport.dll

3.0.4506.4120

33,640

10-Jun-2009

06:56

IA-64

System.runtime.serialization.dll

3.0.4506.4120

847,872

10-Jun-2009

06:56

IA-64

System.servicemodel.dll

3.0.4506.4120

5,271,552

10-Jun-2009

06:56

IA-64

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Daha fazla bilgi

Aşağıdaki kod örneği, enableUnsecuredResponse özniteliği sınamak için kullanın:

Hizmet

BindingElementCollection serviceBec = new BindingElementCollection();SecurityBindingElement serviceSbe = SecurityBindingElement.CreateUserNameForCertificateBindingElement();
serviceSbe.EnableUnsecuredResponse = true;
serviceBec.Add(serviceSbe);
serviceBec.Add(new TextMessageEncodingBindingElement());
serviceBec.Add(new HttpTransportBindingElement());
Binding serviceBinding = new CustomBinding(serviceBec);

ServiceHost serviceHost = new ServiceHost(typeof(RequestReply));

serviceHost.Open();

İstemci

BindingElementCollection clientBec = new BindingElementCollection();SecurityBindingElement clientSbe = SecurityBindingElement.CreateUserNameForCertificateBindingElement();
clientSbe.EnableUnsecuredResponse = true;
clientBec.Add(clientSbe);
clientBec.Add(new TextMessageEncodingBindingElement());
clientBec.Add(new HttpTransportBindingElement());
Binding clientBinding = new CustomBinding(clientBec);

IRequestReply channel = cf.CreateChannel();
try
{
channel.SendString("Hello");
cf.Close();
}

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×