INLEIDING

Windows Communication Foundation (WCF) beschikt niet over de functionaliteit van beveiligde berichten verzenden en vervolgens ontvangen niet-beveiligde of niet-beveiligde berichten verzenden en ontvangen van beveiligde reacties. De hotfix die wordt beschreven in dit artikel wordt een nieuw enableUnsecuredResponse -kenmerk toegevoegd. De standaardwaarde van het kenmerk enableUnsecuredResponse is ingesteld op false. Als u de waarde van dit kenmerk op true instelt, wordt de volgende nieuwe functies zijn ingeschakeld in WCF:

  • WCF-clients kunnen niet-beveiligde reacties accepteren, zelfs als de uitgaande berichten worden beveiligd door het Secure Socket Layer (SSL)-protocol gebruikt om de berichttekst te ondertekenen.

  • WCF-services kunnen versturen niet-beveiligde reacties die geen beveiligings-header in SOAP enveloppen hebben zelfs als de aanvraag is beveiligd.

Opmerking Het kenmerk enableUnsecuredResponse wordt alleen geldt alleen voor het type CustomBinding .

Oplossing

Als u .NET Framework 3.0 gebruikt, installeert u de hotfix die wordt beschreven in het volgende Microsoft Knowledge Base-artikel:

967105 oplossen: een hotfix waarmee WCF voor beveiligde berichten verzenden en ontvangen van niet-beveiligde reacties en niet-beveiligde berichten verzenden en ontvangen van beveiligde reacties, beschikbaar is voor .NET Framework 3.0Als u .NET Framework 3.5 Service Pack 1 op Windows 7 of Windows Server 2008 R2 gebruikt, installeert u de hotfix die wordt beschreven in het volgende Microsoft Knowledge Base-artikel:

977420 is een hotfixcombinatiepakket beschikbaar voor het oplossen van problemen in Windows Communication Foundation in .NET Framework 3.5 SP1 voor Windows 7 en Windows Server 2008 R2
Als u .NET Framework 3.5 Service Pack 1 op andere besturingssystemen gebruikt, installeert u de volgende hotfix om het probleem te verhelpen.

Een ondersteunde hotfix is nu beschikbaar bij Microsoft. Het is echter bedoeld om alleen het probleem dat wordt beschreven in dit artikel. Pas deze alleen toe op systemen waarop dit specifieke probleem zich voordoet. Deze hotfix moet wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op het volgende servicepack waarin deze hotfix is opgenomen.

U lost dit probleem meteen contact op met Microsoft Customer Support Services om de hotfix te verkrijgen. Voor een volledige lijst met telefoonnummers van Microsoft Customer Support Services en informatie over kosten van ondersteuning vindt u op de volgende Microsoft-website:

http://support.microsoft.com/contactus/?ws=supportOpmerking In speciale gevallen kunnen kosten die normaal aan ondersteuningsoproepen verbonden zijn, worden geannuleerd als een medewerker van Microsoft productondersteuning van mening is dat een specifieke update de oplossing van uw probleem is. De normale ondersteuningskosten blijven gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.

Vereisten

Deze hotfix moet u .NET Framework 3.5 Service Pack 1 hebben.

Opnieuw opstarten

U beschikt niet over de computer opnieuw opstarten nadat u deze hotfix hebt toegepast, als er geen exemplaar van .NET Framework wordt gebruikt.

Informatie over het vervangen van hotfixes

Deze hotfix vervangt geen andere hotfixes.

Bestandsinformatie

De Engelse versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Om het verschil tussen UTC en lokale tijd op te zoeken, gebruikt u het tabblad tijdzone in het onderdeel datum en tijd in het Configuratiescherm.

Bestandsgegevens voor alle x86-versies van Windows Server 2003 en Windows XP

Bestandsnaam

Bestandsversie

Bestandsgrootte

Datum

Tijd

Platform

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

Bestandsgegevens voor alle x64-versies van Windows Server 2003 en Windows XP

Bestandsnaam

Bestandsversie

Bestandsgrootte

Datum

Tijd

Platform

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

Bestandsgegevens voor alle x86-versies van Windows Vista SP2 en Windows Server 2008 SP2

Bestandsnaam

Bestandsversie

Bestandsgrootte

Datum

Tijd

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

Bestandsgegevens voor alle x64-versies van Windows Vista SP2 en Windows Server 2008 SP2

Bestandsnaam

Bestandsversie

Bestandsgrootte

Datum

Tijd

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

Bestandsgegevens voor alle Itanium-versies van Windows Server 2008 SP2

Bestandsnaam

Bestandsversie

Bestandsgrootte

Datum

Tijd

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

Status

Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'.

Meer informatie

De volgende voorbeeldcode voor het testen van het kenmerk enableUnsecuredResponse gebruiken:

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

Client

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

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de vertaalkwaliteit?

Wat heeft uw ervaring beïnvloed?

Hebt u aanvullende feedback? (Optioneel)

Bedankt voor uw feedback.

×