Introduktion

Windows Communication Foundation (WCF) har inte funktioner för att skicka säkra meddelanden och ta emot osäker svar eller för att skicka osäker meddelanden och ta emot säkra svar. Snabbkorrigeringen som beskrivs i den här artikeln lägger till attributet enableUnsecuredResponse . Standardvärdet för attributet enableUnsecuredResponse är false. Om du anger värdet för det här attributet till trueaktiveras följande nya funktioner i WCF:

  • WCF-klienter kan acceptera osäker svar även om utgående meddelanden är skyddade med hjälp av Secure Socket Layer (SSL)-protokollet för att signera meddelandet.

  • WCF-tjänster kan skicka osäker svar som har inga säkerhetshuvud i SOAP-kuvert, även om begäran är skyddad.

Obs! Attributet enableUnsecuredResponse gäller endast endast typen CustomBinding .

Lösning

Om du använder.NET Framework 3.0 kan du installera snabbkorrigeringen som beskrivs i följande artikel i Microsoft Knowledge baserade:

967105 KORRIGERA: en snabbkorrigering som gör WCF skicka säkra meddelanden och ta emot oskyddad svar och skicka osäker meddelanden och ta emot säkra svar finns för.NET Framework 3.0Om du använder.NET Framework 3.5 Service Pack 1 på Windows 7 eller Windows Server 2008 R2, installerar du snabbkorrigeringen som beskrivs i följande artikel i Microsoft Knowledge baserade:

977420 en snabbkorrigering är tillgänglig för att lösa problem i Windows Communication Foundation på.NET Framework 3.5 SP1 för Windows 7 och Windows Server 2008 R2
Om du använder.NET Framework 3.5 Service Pack 1 i andra operativsystem installerar du följande snabbkorrigering som löser problemet.

En snabbkorrigering är nu tillgänglig från Microsoft. Den är emellertid avsedd att åtgärda det problem som beskrivs i denna artikel. Använd den bara på datorer där detta problem uppstår. Snabbkorrigeringen kan komma att testas igen. Om inte störs alltför mycket av detta problem rekommenderar vi att du väntar på Nästa service pack som innehåller den här snabbkorrigeringen.

Om du vill lösa problemet omedelbart kontaktar du Microsoft support för att få snabbkorrigeringen. En fullständig lista över telefonnummer till Microsoft Customer Support Services och information om supportkostnader finns på följande Microsoft-webbplats:

http://support.microsoft.com/contactus/?ws=supportObs! I särskilda fall avbryts de avgifter som är normala för supportsamtal om en supporttekniker anser att en särskild uppdatering kan lösa ditt problem. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte berör den särskilda uppdateringen.

Förutsättningar

Om du vill installera den här snabbkorrigeringen måste du ha.NET Framework 3.5 Service Pack 1.

Krav på omstart

Du behöver inte starta om datorn när du har installerat den här snabbkorrigeringen om ingen instans av.NET Framework som används.

Ersättningsinformation för Hotfix

Den här snabbkorrigeringen ersätter inte några andra snabbkorrigeringar.

Filinformation

Den engelska versionen av den här snabbkorrigeringen har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC-tid (UTC). När du visar filinformationen konverteras den till lokal tid. Använd fliken tidszon i datum och tid på Kontrollpanelen om du vill se skillnaden mellan UTC-tid och lokal tid.

Filinformation för alla x86-baserade versioner av Windows Server 2003 och Windows XP

Filnamn

Filversion

Storlek

Datum

Tid

Plattform

Servicemonikersupport.dll

3.0.4506.4119

17,240

01-Jun-2009

22:56

x86

System.runtime.serialization.dll

3.0.4506.4119

970,752

01-Jun-2009

22:56

x86

System.servicemodel.dll

3.0.4506.4119

5,931,008

01-Jun-2009

22:56

x86

Filinformation för alla x64-baserade versioner av Windows Server 2003 och Windows XP

Filnamn

Filversion

Storlek

Datum

Tid

Plattform

Servicemonikersupport.dll

3.0.4506.4119

19,304

01-Jun-2009

22:28

x64

System.runtime.serialization.dll

3.0.4506.4119

847,872

01-Jun-2009

22:28

x64

System.servicemodel.dll

3.0.4506.4119

5,267,456

01-Jun-2009

22:28

x64

Filinformation för alla x86-baserade versioner av Windows Vista SP2 och Windows Server 2008 SP2

Filnamn

Filversion

Storlek

Datum

Tid

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

Filinformation för alla x64-baserade versioner av Windows Vista SP2 och Windows Server 2008 SP2

Filnamn

Filversion

Storlek

Datum

Tid

Plattform

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

Filinformation för alla Itanium-baserade versioner av Windows Server 2008 SP2

Filnamn

Filversion

Storlek

Datum

Tid

Plattform

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

Status

Microsoft har bekräftat att detta är ett problem i Microsoft-produkterna som nämns i avsnittet "Gäller".

Mer Information

Du kan använda följande exempelkod för att testa enableUnsecuredResponse attribut:

Service

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

Klienten

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

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Hur nöjd är du med översättningskvaliteten?
Vad påverkade din upplevelse?

Tack för din feedback!

×