Einführung

Windows Communication Foundation (WCF) verfügt nicht über die Funktionalität gesicherte Nachrichten senden und empfangen unsichere Antworten zu unsichere Nachrichten senden und Empfangen von sicheren Antworten. In diesem Artikel beschriebene Hotfix Fügt ein neues EnableUnsecuredResponse -Attribut. Der Standardwert des Attributs EnableUnsecuredResponse ist falsch. Wenn Sie den Wert dieses Attributs auf truefestlegen, werden die folgenden neuen Funktionen in WCF:

  • WCF-Clients akzeptieren unsichere Antworten, selbst wenn ausgehenden Nachrichten mit dem Protokoll Secure Socket Layer (SSL) sich Nachrichtentext geschützt sind.

  • WCF-Dienste können unsichere Antworten senden, die keinen Sicherheitsheader im SOAP-Envelopes, wenn die Anforderung gesichert ist.

Hinweis Das EnableUnsecuredResponse -Attribut nur nur für den Typ CustomBinding .

Problemlösung

Bei Verwendung von.NET Framework 3.0 installieren Sie im folgenden Artikel der Microsoft Knowledge Base beschriebene Hotfix:

967105 beheben: ein Hotfix, der WCF gesicherte Nachrichten senden und empfangen kann unsichere Antworten und unsichere Nachrichten senden und Empfangen von sicheren Antworten steht für.NET Framework 3.0Wenn Sie.NET Framework 3.5 Service Pack 1 unter Windows 7 oder Windows Server 2008 R2 verwenden, installieren Sie im folgenden Artikel der Microsoft Knowledge Base beschriebene Hotfix:

977420 ist ein Hotfixrollup zur Problembehebung in Windows Communication Foundation in.NET Framework 3.5 SP1 für Windows 7 und Windows Server 2008 R2
Wenn Sie.NET Framework 3.5 Service Pack 1 auf anderen Betriebssystemen verwenden, installieren Sie den folgenden Hotfix zur Behebung des Problems.

Ein unterstützter Hotfix ist inzwischen von Microsoft erhältlich. Es soll jedoch nur das Problem beheben, das in diesem Artikel beschrieben wird. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird möglicherweise noch getestet. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir, auf das nächste Servicepack warten, das diesen Hotfix enthält.

Wenn dieses Problem sofort beheben möchten, wenden Sie sich an Microsoft Support Services, um den Hotfix zu erhalten. Eine vollständige Liste der Telefonnummern des Microsoft Product Support Services und Informationen zu den Supportkosten finden Sie auf der folgenden Microsoft-Website:

http://support.microsoft.com/contactus/?ws=supportHinweis In bestimmten Fällen können Gebühren, die normalerweise für Support-Anrufe anfallen abgebrochen werden, wenn ein Microsoft-Supportmitarbeiter feststellt, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren.

Voraussetzungen

Zum Anwenden dieses Hotfixes müssen Sie.NET Framework 3.5 Service Pack 1.

Neustartanforderung

Sie müssen keinen Neustart des Computers nach der Installation dieses Hotfixes, wenn keine Instanz von.NET Framework verwendet wird.

Informationen zu ersetzten Hotfixes

Dieser Hotfix ersetzt keine anderen Hotfixes.

Dateiinformationen

Die englische Version dieses Hotfixes weist Dateiattribute (oder spätere Attribute), die in der folgenden Tabelle aufgelistet sind. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) aufgelistet. Wenn Sie die Dateiinformationen anzeigen, werden sie in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu finden, verwenden Sie die Registerkarte Zeitzone unter Datum und Uhrzeit in der Systemsteuerung.

Dateiinformationen für alle X86-basierten Versionen von Windows Server 2003 und Windows XP

Dateiname

Dateiversion

Dateigröße

Datum

Zeit

Plattform

Servicemonikersupport.dll

3.0.4506.4119

17,240

01 Juni 2009

22:56

x86

System.runtime.serialization.dll

3.0.4506.4119

970,752

01 Juni 2009

22:56

x86

System.servicemodel.dll

3.0.4506.4119

5,931,008

01 Juni 2009

22:56

x86

Dateiinformationen für alle X64-basierten Versionen von Windows Server 2003 und Windows XP

Dateiname

Dateiversion

Dateigröße

Datum

Zeit

Plattform

Servicemonikersupport.dll

3.0.4506.4119

19,304

01 Juni 2009

22:28

x64

System.runtime.serialization.dll

3.0.4506.4119

847,872

01 Juni 2009

22:28

x64

System.servicemodel.dll

3.0.4506.4119

5,267,456

01 Juni 2009

22:28

x64

Dateiinformationen für alle X86-basierten Versionen von Windows Vista SP2 und Windows Server 2008 SP2

Dateiname

Dateiversion

Dateigröße

Datum

Zeit

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

Dateiinformationen für alle X64-basierten Versionen von Windows Vista SP2 und Windows Server 2008 SP2

Dateiname

Dateiversion

Dateigröße

Datum

Zeit

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

Dateiinformationen für alle Itanium-basierten Versionen von Windows Server 2008 SP2

Dateiname

Dateiversion

Dateigröße

Datum

Zeit

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 hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Weitere Informationen

Verwenden Sie im folgenden Codebeispiel testen das EnableUnsecuredResponse -Attribut:

Dienst

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

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×