Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

WPROWADZENIE

Windows Communication Foundation (WCF) nie ma funkcji do Wysyłanie zabezpieczonej wiadomości, a następnie otrzymywać odpowiedzi na niezabezpieczoną, lub do wysyłania wiadomości niezabezpieczoną i otrzymywać odpowiedzi na zabezpieczonej. Poprawki, którą opisano w tym artykule dodaje nowy atrybut enableUnsecuredResponse . Wartość domyślna atrybutu enableUnsecuredResponse jest false. Jeśli wartość tego atrybutu jest ustawiony na wartość true, następujące nowe funkcje są włączone w WCF:

  • WCF klientów może zaakceptować niezabezpieczoną odpowiedzi, nawet, jeśli wiadomości wychodzące są zabezpieczone przy użyciu protokołu Secure Socket Layer (SSL) do podpisania treści wiadomości.

  • Usługi WCF można wysłać niezabezpieczoną odpowiedzi, które mają bez nagłówka zabezpieczeń w koperty protokołu SOAP, nawet jeśli wniosek jest zabezpieczona.

Uwaga Tylko atrybut enableUnsecuredResponse dotyczy tylko typu CustomBinding .

Rozwiązanie

Jeśli używasz.NET Framework 3.0, należy zainstalować poprawki, którą opisano w następującym artykule opartego na wiedzy firmy Microsoft:

NAPRAW 967105 : poprawka, która umożliwia WCF do zabezpieczonej wiadomości do wysyłania i odbierania odpowiedzi na nie zabezpieczoną, a do wysyłania wiadomości niezabezpieczone i otrzymywać odpowiedzi na zabezpieczonej, jest dostępna dla programu.NET Framework 3.0Jeśli używasz programu.NET Framework 3.5 z dodatkiem Service Pack 1 w systemie Windows 7 lub Windows Server 2008 R2, należy zainstalować poprawki, którą opisano w następującym artykule opartego na wiedzy firmy Microsoft:

977420 pakiet zbiorczy poprawek jest dostępny do rozwiązywania problemów w systemie Windows Communication Foundation w.NET Framework 3.5 z dodatkiem SP1 dla systemu Windows 7 i Windows Server 2008 R2
Jeśli używasz programu.NET Framework 3.5 z dodatkiem Service Pack 1 w innych systemach operacyjnych, należy zainstalować następującą poprawkę, aby rozwiązać ten problem.

Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak jest ona przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następny dodatek service Pack zawierający tę poprawkę.

Aby natychmiast rozwiązać ten problem, skontaktuj się z biurem obsługi klienta Microsoft w celu uzyskania poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej firmy Microsoft oraz informacje o pomocy technicznej odwiedź następującą witrynę firmy Microsoft w sieci Web:

http://support.microsoft.com/contactus/?ws=supportUwaga W wyjątkowych przypadkach opłaty za połączenie z pomocą techniczną mogą zostać anulowane, jeśli specjalista firmy Microsoft zdecyduje że określona aktualizacja, może rozwiązać Twój problem. Koszty obsługi zwykłych zastosuje się do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej aktualizacji.

Wymagania wstępne

Aby zastosować tę poprawkę, musi mieć programu.NET Framework 3.5 z dodatkiem Service Pack 1.

Wymagania dotyczące ponownego uruchomienia

Nie trzeba ponownie uruchomić komputer po zastosowaniu tej poprawki, jeśli jest używane nie wystąpienie programu.NET Framework.

Informacje dotyczące zastępowania poprawek

Ta poprawka nie zastępuje żadnych innych poprawek.

Informacje o plikach

Wersja anglojęzyczna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć z karty Strefa czasowa w aplecie Data i godzina w Panelu sterowania.

Informacje o plikach dla wszystkich x86 wersji systemu Windows Server 2003 i Windows XP

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Godzina

Platforma

Servicemonikersupport.dll

3.0.4506.4119

17,240

01-cze-2009

22:56

x86

System.runtime.serialization.dll

3.0.4506.4119

970,752

01-cze-2009

22:56

x86

System.servicemodel.dll

3.0.4506.4119

5,931,008

01-cze-2009

22:56

x86

Informacje o plikach dla wszystkich x64-bitowych wersji systemu Windows Server 2003 i Windows XP

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Godzina

Platforma

Servicemonikersupport.dll

3.0.4506.4119

19,304

01-cze-2009

22:28

x64

System.runtime.serialization.dll

3.0.4506.4119

847,872

01-cze-2009

22:28

x64

System.servicemodel.dll

3.0.4506.4119

5,267,456

01-cze-2009

22:28

x64

Informacje o plikach dla wszystkich x86 wersji dodatku SP2 dla systemu Windows Vista i Windows Server 2008 z dodatkiem SP2

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Godzina

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

Informacje o plikach dla wszystkich x64-bitowych wersji systemu Windows Vista z dodatkiem SP2 i Windows Server 2008 z dodatkiem SP2

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Godzina

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

Informacje o plikach dla wszystkich wersji z procesorem Itanium systemu Windows Server 2008 z dodatkiem SP2

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Godzina

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

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Poniższy przykład kodu umożliwia testowanie atrybut enableUnsecuredResponse :

Usługi

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

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×