Исправление: Исправление, позволяющее WCF для отправки защищенных сообщений и получение ответов на небезопасную и отправлять небезопасные сообщения и получение ответов на безопасное, доступен для платформа.NET Framework 3.5 SP1

ВВЕДЕНИЕ

Windows Communication Foundation (WCF) не имеет возможность отправки защищенных сообщений и получить небезопасные ответы или отправлять небезопасные сообщения и получать ответы на защищенных. Исправление, описанное в данной статье добавляется новый атрибут enableUnsecuredResponse . Значение по умолчанию атрибут enableUnsecuredResponse имеет значение false. Если значение этого атрибута равным true, в WCF включены следующие новые возможности:

  • Клиенты WCF может принимать небезопасные ответы, даже если исходящие сообщения защищены с помощью протокола Secure Socket Layer (SSL) для подписи сообщения.

  • Службы WCF можно отправить небезопасные ответы, имеющие отсутствует заголовок безопасности в конвертах SOAP, даже если запрос защищена.

Примечание. Атрибут enableUnsecuredResponse применяется только к типу CustomBinding .

Решение

Если используется платформа.NET Framework 3.0, установите исправление, описанное в следующей статье базе знаний Майкрософт:

967105 исправление: исправление, позволяющее WCF для отправки защищенных сообщений и получения небезопасный ответы и небезопасные сообщения отправлять и получать безопасный ответы доступны для платформа.NET Framework 3.0Если используется платформа.NET Framework 3.5 Пакет обновления 1 в Windows 7 или Windows Server 2008 R2, установите исправление, описанное в следующей статье базе знаний Майкрософт:

977420 накопительный пакет исправлений для устранения неполадок в Windows Communication Foundation в платформа.NET Framework 3.5 с пакетом обновления 1 для Windows 7 и Windows Server 2008 R2
Если платформа.NET Framework 3.5 Пакет обновления 1 используется в других операционных системах, установите указанное ниже исправление для решения проблемы.

Исправление от корпорации Майкрософт доступно. Тем не менее он предназначен только для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.

Для немедленного решения этой проблемы обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Полный список телефонов службы поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-сайт корпорации Майкрософт:

http://support.microsoft.com/contactus/?ws=supportПримечание. В особых случаях оплата, предусмотренная за обращение в службу поддержки может быть отменена, если специалист службы технической поддержки Майкрософт определит, что обновление будет решением проблемы. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.

Предварительные условия

Для установки этого исправления необходимо иметь 1 Пакет обновления платформа.NET Framework 3.5.

Необходимость перезагрузки

Необходимо перезагрузить компьютер после установки исправления, если используется не экземпляр платформа.NET Framework.

Сведения о замене исправлений

Это исправление не заменяет других исправлений.

Сведения о файлах

Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку Часовой пояс элемента Дата и время в панели управления.

Сведения о файлах для всех версий x86 под управлением Windows Server 2003 и Windows XP

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Servicemonikersupport.dll

3.0.4506.4119

17,240

01 июня 2009 г.

22:56

x86

System.runtime.serialization.dll

3.0.4506.4119

970,752

01 июня 2009 г.

22:56

x86

System.servicemodel.dll

3.0.4506.4119

5,931,008

01 июня 2009 г.

22:56

x86

Сведения о файлах для всех версий x64 под управлением Windows Server 2003 и Windows XP

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

Servicemonikersupport.dll

3.0.4506.4119

19,304

01 июня 2009 г.

22:28

x64

System.runtime.serialization.dll

3.0.4506.4119

847,872

01 июня 2009 г.

22:28

x64

System.servicemodel.dll

3.0.4506.4119

5,267,456

01 июня 2009 г.

22:28

x64

Сведения о файлах для всех x86-разрядных версий Windows Vista с пакетом обновления 2 и Windows Server 2008 SP2

Имя файла

Версия файла

Размер файла

Дата

Время

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

Сведения о файлах для всех x64-разрядных версий Windows Vista с пакетом обновления 2 и Windows Server 2008 SP2

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

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

Сведения о файлах для всех Itanium® под управлением версий Windows Server 2008 SP2

Имя файла

Версия файла

Размер файла

Дата

Время

Платформа

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

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Дополнительные сведения

Используйте следующий код для проверки атрибута enableUnsecuredResponse :

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

Клиент

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

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×