ÚVOD

Windows Communication Foundation (WCF) nemá funkce odesílat zabezpečené zprávy a pak přijímat nezabezpečenou odpovědi a odesílat nezabezpečenou zprávy a přijímat zabezpečené odpovědi. Opravu hotfix popsanou v tomto článku přidá nový atribut enableUnsecuredResponse . Výchozí atribut enableUnsecuredResponse hodnotu false. Pokud nastavíte hodnotu tohoto atributu na hodnotu true, jsou povoleny následující nové funkce v WCF:

  • WCF klienti mohou přijímat nezabezpečenou odpovědi i v případě, že odchozí zprávy jsou zabezpečeny pomocí protokolu Secure Socket Layer (SSL) k podepsání zprávy.

  • WCF služby mohou odesílat nezabezpečenou odpovědi, které mají žádné zabezpečení záhlaví obálky SOAP i v případě, že požadavek je zabezpečen.

Poznámka: Atribut enableUnsecuredResponse platí pouze pouze pro typ CustomBinding .

Řešení

Používáte-li rozhraní.NET Framework 3.0, nainstalujte opravu hotfix popsanou v následujícím článku znalostní bázi Microsoft Knowledge:

967105 oprava: oprava hotfix, která umožňuje WCF odesílat zabezpečené zprávy a přijímat nezabezpečenou odpovědi a odesílat nezabezpečenou zprávy a přijímat zabezpečené odpovědi, je k dispozici rozhraní.NET Framework 3.0Pokud používáte rozhraní.NET Framework 3.5 Service Pack 1 v systému Windows 7 nebo Windows Server 2008 R2, nainstalujte opravu hotfix popsanou v následujícím článku znalostní bázi Microsoft Knowledge:

977420 kumulativní oprava hotfix je k dispozici a opravuje problémy v systému Windows Communication Foundation rozhraní.NET Framework 3.5 SP1 pro systém Windows 7 a Windows Server 2008 R2Pokud používáte rozhraní.NET Framework 3.5 Service Pack 1 v jiných operačních systémech, nainstalujte následující opravu hotfix problém vyřešit.Podporovaná oprava hotfix je nyní k dispozici od společnosti Microsoft. Je však určena opravit pouze problém popsaný v tomto článku. Použijte ji pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud jste závažně tento problém, doporučujeme počkat další aktualizaci service pack, která obsahuje tuto opravu hotfix.Chcete-li tento problém vyřešit okamžitě, obraťte se na technickou podporu společnosti Microsoft získat opravu hotfix. Úplný seznam telefonních čísel služeb podpory zákazníků společnosti Microsoft a informace o cenách podpory naleznete na následujícím webu společnosti Microsoft:

http://support.microsoft.com/contactus/?ws=supportPoznámka: Ve zvláštních případech mohou být stornovány poplatky, které jsou třeba obvykle zaplatit za telefonní hovory, pokud pracovník služeb podpory společnosti Microsoft určí, že konkrétní aktualizace odstraní váš problém. Výdaje na technickou podporu použije dalších otázek a problémů, které nelze vyřešit konkrétní aktualizací.

Předpoklady

Chcete-li nainstalovat tuto opravu hotfix, musíte mít rozhraní.NET Framework 3.5 Service Pack 1.

Požadavek na restartování

Nemáte k restartování počítače po instalaci této opravy hotfix Pokud žádná instance rozhraní.NET Framework je používán.

Informace o nahrazení opravy hotfix

Tato oprava hotfix nenahrazuje žádné další opravy hotfix.

Informace o souborech

Anglická verze této opravy hotfix má atributy (nebo pozdější atributy souborů) uvedené v následující tabulce. Kalendářní data a časy jednotlivých souborů jsou uvedeny v koordinovaném světovém čase (UTC). Při zobrazení informací o souboru je převeden na místní čas. Rozdíl mezi místním časem a časem UTC naleznete na kartě Časové pásmo v položce Datum a čas v okně Ovládací panely.

Informace o souborech pro všechny verze x86 systému Windows Server 2003 a Windows XP

Název souboru

Verze souboru

Velikost souboru

Datum

Čas

Platforma

Servicemonikersupport.dll

3.0.4506.4119

17,240

01. června 2009

22:56

x86

System.runtime.serialization.dll

3.0.4506.4119

970,752

01. června 2009

22:56

x86

System.servicemodel.dll

3.0.4506.4119

5,931,008

01. června 2009

22:56

x86

Informace o souborech pro všechny verze x64 systému Windows Server 2003 a Windows XP

Název souboru

Verze souboru

Velikost souboru

Datum

Čas

Platforma

Servicemonikersupport.dll

3.0.4506.4119

19,304

01. června 2009

22:28

x64

System.runtime.serialization.dll

3.0.4506.4119

847,872

01. června 2009

22:28

x64

System.servicemodel.dll

3.0.4506.4119

5,267,456

01. června 2009

22:28

x64

Informace o souborech pro všechny verze x86 systémem Windows Vista SP2 a Windows Server 2008 SP2

Název souboru

Verze souboru

Velikost souboru

Datum

Čas

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

Informace o souborech pro všechny verze x64 systémem Windows Vista SP2 a Windows Server 2008 SP2

Název souboru

Verze souboru

Velikost souboru

Datum

Čas

Platforma

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

Informace o souborech pro všechny verze s procesorem Itanium systému Windows Server 2008 SP2

Název souboru

Verze souboru

Velikost souboru

Datum

Čas

Platforma

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

Stav

Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".

Další informace

Následující příklad kódu lze použijte k testování atribut enableUnsecuredResponse :Služby

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();

Klient

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();}

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.