Windows communication foundation non http activation что это

Symptoms

Consider the following scenario:

In this scenario, you receive the following error message:

Exception: System.InvalidOperationException: The protocol ‘net.tcp’ does not have an implementation of HostedTransportConfiguration type registered.
at System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)

Workaround

To work around the issue, use one of the following methods.

Method 1

Manually change the root of the Web.config file. To do this, follow these steps.

If you change the Web.config file incorrectly, ASP.NET applications may stop working. We recommend that you back up the Web.config file before you change it.

Open the following file in a text editor, such as Notepad, as an administrator:

Add the following configuration section before the tag.

The tag is located at the bottom of the file.

Add the following configuration sections to the file, if they do not already exist:

After the file is saved, follow the same steps to change the following file, and then restart computer.

We recommend that you apply this method to work around the issue because this method has the minimum effect on the computer. These changes apply to the Web.config file only and do not affect other ASP.NET applications.

Method 2

Run SmconfigInstaller.exe to update the Web.config file.

This method may update more configurations in the Web.config and IIS application Host.config files than are necessary to resolve the issue. The updated configurations depend on how many ASP.NET 2.0, ASP.NET 3.0 and ASP.NET 3.5 applications are hosted and configured on the computer. If you use this method, you must be cautions if you use other ASP.NET applications that should not be changed.

To run SMConfigInstaller.exe on a computer that is running a 32-bit operating system, follow these steps:

At a command prompt, type the following command, and then press Enter:

Restart the computer.

To run SMConfigInstaller.exe on a computer that is running a 64-bit operating system, follow these steps:

At a 64-bit command prompt, type the following command, and then press Enter:

At a 32-bit command prompt, type the following command, and then press Enter:

Источник

Проблема

Рассмотрим следующий сценарий.

В этом случае появляется следующее сообщение об ошибке:

Исключение. System.InvalidOperationException: Протокол net.tcp не имеет зарегистрированной реализации типа HostedTransportConfiguration.
в System.ServiceModel.AsyncResult.End[TAsyncResult](IAsyncResult result)
в System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End (результат IAsyncResult)

Временное решение

Для решения проблемы используйте один из указанных ниже способов.

Способ 1

Вручную измените корень файла Web.config. Для этого выполните указанные ниже действия.

Если вы измените файл Web.config неправильно, приложения ASP.NET могут перестать работать. Рекомендуется сделать резервную копию файла Web.config перед его изменением.

Откройте следующий файл в текстовом редакторе, например в Блокноте, от имени администратора:

Тег находится внизу файла.

Добавьте в файл следующие разделы конфигурации, если они еще не существуют:

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

Мы рекомендуем применить этот метод, чтобы обойти проблему, поскольку этот метод оказывает минимальное влияние на компьютер. Эти изменения применяются только к файлу Web.config и не влияют на другие приложения ASP.NET.

Способ 2

Запустите SmconfigInstaller.exe, чтобы обновить файл Web.config.

Этот метод может привести к обновлению большего количества конфигураций в файлах Web.config и файлах Host.config приложений IIS, чем необходимо для решения проблемы. Обновленные конфигурации зависят от количества размещенных и настроенных на компьютере приложений ASP.NET 2.0, ASP.NET 3.0 и ASP.NET 3.5. При применении этого метода следует проявлять осторожность, если используются другие приложения ASP.NET, которые не следует изменять.

Чтобы запустить SMConfigInstaller.exe на компьютере под управлением 32-разрядной операционной системы, выполните приведенные ниже действия.

Введите в командной строке нижеуказанную команду и нажмите клавишу ВВОД.

Чтобы запустить SMConfigInstaller.exe на компьютере под управлением 64-разрядной операционной системы, выполните приведенные ниже действия.

Введите в командной строке 64-разрядной ОС нижеуказанную команду и нажмите клавишу ВВОД.

Введите в командной строке 32-разрядной ОС нижеуказанную команду и нажмите клавишу ВВОД.

Источник

Настройка службы активации процессов Windows для использования с Windows Communication Foundation

в этом разделе описываются шаги, необходимые для настройки службы Windows процесса активации (также известной как WAS) в Windows Vista для размещения служб Windows Communication Foundation (WCF), не передающих сетевые протоколы HTTP. Настройка предполагает следующие шаги.

Установите (или подтвердите установку) необходимые компоненты активации WCF.

Создайте узел WAS с привязками сетевых протоколов, которые планируется использовать, или добавьте новую привязку протокола в существующий узел.

Создайте приложение для размещения служб и разрешите этому приложению использовать требуемые сетевые протоколы.

Создайте службу WCF, которая предоставляет конечную точку, отличную от HTTP.

Настройка узла с привязками протоколов, отличных от HTTP

Для использования в сочетании со службой WAS привязки к протоколу, отличному от HTTP, необходимо добавить привязку узла в конфигурацию WAS. Хранилищем конфигурации для службы WAS является файл applicationHost.config, находящийся в каталоге %windir%\system32\inetsrv\config. Это хранилище конфигурации используется и службой WAS, и службами IIS 7.0.

applicationHost.config представляет собой текстовый XML-файл, который можно открыть в любом стандартном текстовом редакторе, таком как Блокнот. Однако предпочтительным способом добавления привязок сайта, отличных от HTTP, является средство настройки командной строки IIS 7,0 (appcmd.exe).

Следующая команда добавляет в веб-узел по умолчанию привязку узла к протоколу net.tcp с помощью команды appcmd.exe (вводится как одна строка).

Эта команда добавляет новую привязку net.tcp в веб-узел по умолчанию путем добавления приведенной ниже строки в файл applicationHost.config.

Разрешение приложению использовать протоколы, отличные от HTTP

Следующий XML-код из файла applicationHost.config иллюстрирует сайт, привязанный и к протоколу HTTP, и к протоколу, отличному от HTTP. Дополнительная конфигурация, необходимая для поддержки отличных от HTTP протоколов, выделена комментариями.

При попытке запустить службу с помощью WAS для активации по протоколу, отличному от HTTP, когда службы WAS не установлены и не настроены, может появиться сообщение об ошибке:

Если появилось это сообщение об ошибке, убедитесь, что установлены и правильно настроены службы WAS для активации по протоколу, отличному от HTTP. Дополнительные сведения см. в разделе инструкции. Установка и настройка компонентов активации WCF.

Построение службы WCF, использующей WAS для активации по протоколу, отличному от HTTP

После выполнения действий по установке и настройке WAS (см. раздел как установить и настроить компоненты активации WCF) Настройка службы для использования была выполнена для активации аналогично настройке службы, размещенной в службах IIS.

Подробные инструкции по созданию активированной службы WCF см. в разделе как разместить службу WCF в WAS.

Источник

Практическое руководство. Установка и настройка компонентов активации WCF

в этом разделе описаны шаги, необходимые для настройки службы Windows процесса активации (также известной как WAS) в Windows Vista для размещения служб Windows Communication Foundation (WCF), не передающих сетевые протоколы HTTP. Настройка предполагает следующие шаги.

Установите (или подтвердите установку) компоненты активации WCF.

Настройте WAS на поддержку отличных от HTTP протоколов. следующая процедура предназначена для настройки Windows Vista для активации TCP.

После установки и настройки WAS см. раздел как разместить службу WCF в WAS для процедур создания службы WCF, предоставляющей конечную точку, которая не является КОНЕЧНОЙ точкой HTTP.

Установка компонентов активации WCF, работающих по отличному от HTTP протоколу

В меню Пуск выберите пункт Панель управления.

Последовательно выберите Программы, Программы и компоненты.

в меню задачи выберите команду включить или отключить компоненты Windows.

Найдите узел WinFX, выберите и разверните его.

Выберите пункт WCF-компоненты активации, отличные от HTTP и сохраните параметр.

Настройка WAS на поддержку протокола TCP

Для поддержки активации по net.tcp веб-узел по умолчанию необходимо сначала привязать к порту net.tcp. Это можно сделать с помощью Appcmd.exe, который устанавливается вместе с набором средств управления IIS 7,0. В окне командной строки с правами администратора выполните следующую команду.

Эта команда представляет собой одну строку текста. Она добавляет привязку узла к протоколу net.tcp в веб-узел по умолчанию, ожидающему передачи данных по протоколу TCP на порту 808 с любым именем узла.

Несмотря на то что все приложения в узле имеют общую привязку к протоколу net.tcp, включать поддержку net.tcp можно для каждого приложения отдельно. Для включения протокола net.tcp для данного приложения необходимо выполнить следующую команду из командной строки с правами администратора.

Удалите привязку сайта к протоколу net.tcp, добавленную ранее для данного образца.

Для удобства два нижеописанных действия выполняются в пакетом файле RemoveNetTcpSiteBinding.cmd, расположенном в каталоге с образцами.

Удалите протокол net.tcp из списка разрешенных протоколов, выполнив следующую команду в окне командной строки с правами администратора.

Эта команда представляет собой одну строку текста.

Удалите привязку узла к протоколу net.tcp, выполнив следующую команду в окне командной строки с повышенными привилегиями:

Эта команда представляет собой одну строку текста.

Удаление протокола net.tcp из списка разрешенных протоколов

Для того чтобы удалить протокол net.tcp из списка разрешенных протоколов, необходимо выполнить следующую команду в окне командной строки с правами администратора.

Эта команда представляет собой одну строку текста.

Удаление привязки узла к протоколу net.tcp

Для того чтобы удалить привязку узла к протоколу net.tcp, необходимо выполнить следующую команду в окне командной строки с правами администратора:

Эта команда представляет собой одну строку текста.

Источник

Активация MSMQ

Процедура настройки и инструкции по построению для данного образца приведены в конце этого раздела.

Windows служба активации процессов (WAS). новый механизм активации процессов для Windows Server 2008 предоставляет функции, аналогичные IIS, которые ранее были доступны приложениям на основе http только приложениям, использующим протоколы, отличные от http. Windows Communication Foundation (WCF) использует интерфейс адаптера прослушивателя для передачи запросов на активацию, полученных через протоколы, отличные от HTTP, которые поддерживаются WCF, например TCP, именованные каналы и MSMQ. Функциональность для получения запросов по протоколам, отличным от HTTP, размещена в управляемых службах Windows, выполняемых в файле SMSvcHost.exe.

Служба адаптера прослушивателя Net.Msmq (NetMsmqActivator) активирует приложения в очереди на основании очереди сообщений.

Клиент отправляет службе заказы на покупку из области транзакции. Служба получает заказы в транзакцию и обрабатывает их. После этого служба возвращает клиенту состояние заказа. Для двустороннего взаимодействия и клиент, и служба используют очереди для заказов на покупку и состояний заказов.

Контракт ответа для отправки состояния заказа задается клиентом. Клиент реализует контракт состояния заказа. Служба использует созданного клиента этого контракта для отправки состояния заказа клиенту.

Операция службы, помимо обработки отправленного заказа на покупку, возвращает клиенту состояние заказа.

Используемая клиентом привязка задается при помощи файла конфигурации.

Имя очереди MSMQ задается в разделе appSettings файла конфигурации. Конечная точка службы определяется в разделе System.serviceModel файла конфигурации.

Правила адресации несколько различаются для имени очереди MSMQ и адреса конечной точки. В имени очереди MSMQ для определения локального компьютера используется точка (.), а в пути в качестве разделителей используются символы обратной косой черты. Адрес конечной точки WCF указывает схему «net. msmq:», использует «localhost» для локального компьютера и использует косую черту в пути. Для чтения очереди, размещенной на удаленном компьютере, «.» и «localhost» следует заменить именем удаленного компьютера.

Для размещения кода службы в WAS используется файл с именем, соответствующем имени класса и расширением SVC.

Файл Service.svc также содержит директиву сборки для проверки загрузки System.Transactions.dll.

Клиент создает область транзакции. Связь со службой происходит в области транзакции, поэтому она обрабатывается как единый модуль, в котором либо все сообщения отправляются успешно, либо не отправляется ни одного. Транзакция фиксируется вызовом метода Complete для области транзакции.

Код клиента реализует контракт IOrderStatus для получения от службы состояния заказа. В данном случае он выводит состояние заказа.

При выполнении образца действия клиента и службы отображаются в окнах консоли как сервера, так и клиента. Можно видеть, как сервер получает сообщения от клиента. Нажмите клавишу ВВОД в каждом окне консоли, чтобы завершить работу сервера и клиента.

Клиент отображает сведения о состоянии заказа, отправленные сервером.

Настройка, сборка и выполнение образца

Убедитесь, что установлен IIS 7,0, так как он необходим для активации WAS.

убедитесь, что вы выполнили однократную процедуру настройки для Windows Communication Foundation примеров. Кроме того, необходимо установить компоненты активации WCF, отличные от HTTP:

В меню Пуск выберите Панель управления.

Выберите программы и компоненты.

щелкните включить или отключить компоненты Windows.

В разделе Сводка компонентов щелкните Добавить компоненты.

Запустите клиента, выполнив файл client.exe в окне командной строки. Этим создается очередь и в нее отсылается сообщение. Оставьте клиента запущенным, чтобы увидеть результат считывания сообщения службой.

Служба активации MSMQ по умолчанию работает как сетевая служба. Поэтому очередь, используемая для активации приложения, должна иметь разрешения на получение и просмотр сетевой службой. Это можно сделать при помощи консоли управления (MMC) очередью сообщений:

В меню Пуск выберите пункт выполнить, а затем введите Compmgmt.msc и нажмите клавишу ВВОД.

В разделе службы и приложения разверните узел очередь сообщений.

Щелкните частные очереди.

Щелкните правой кнопкой мыши очередь (servicemodelsamples/Service. svc) и выберите пункт Свойства.

На вкладке Безопасность щелкните Добавить и предоставьте разрешения Просмотр и получение для сетевой службы.

Настройка службы активации Windows (WAS) для поддержки активации MSMQ.

Для удобства следующие действия выполняются в пакетном файле AddMsmqSiteBinding.cmd, расположенном в каталоге образца.

Для поддержки активации net.msmq сначала необходимо привязать веб-узел по умолчанию к протоколу net.msmq. Сделать это позволяет файл Appcmd.exe, который устанавливается с помощью набора инструментов управления IIS 7.0. В командной строке с повышенными привилегиями (с правами администратора) выполните следующую команду.

Эта команда представляет собой одну строку текста.

Эта команда добавляет для веб-узел по умолчанию привязку net.msmq.

Хотя все приложения на узле имеют общую привязку net.msmq, включать поддержку net.msmq можно для каждого приложения отдельно. Чтобы включить net.msmq для приложения /servicemodelsamples, выполните следующую команду из командной строки с повышенными привилегиями.

Эта команда представляет собой одну строку текста.

чтобы запустить пример в конфигурации с одним или несколькими компьютерами, следуйте инструкциям в разделе выполнение примеров Windows Communication Foundation. Кроме того, можно изменить код на клиенте, который отправляет заказ на покупку, для отражения имени компьютера и URI очереди при отправке заказа на покупку. Используйте следующий код:

Удалите привязку узла net.msmq, добавленную ранее для данного образца.

Для удобства следующие действия выполняются в пакетном файле RemoveMsmqSiteBinding.cmd, расположенном в каталоге с образцом.

Удалите net.msmq из списка включенных протоколов, выполнив следующую команду из командной строки с повышенными привилегиями.

Эта команда представляет собой одну строку текста.

Удалите привязку узла net.msmq, выполнив следующую команду из командной строки с повышенными привилегиями.

Эта команда представляет собой одну строку текста.

Выполнение образца на компьютере, входящем в рабочую группу

Если компьютер не входит в домен, отключите безопасность транспорта, задав для режима проверки подлинности и уровня защиты значение None, как показано в следующем образце конфигурации.

Перед выполнением образца измените конфигурацию как сервера, так и клиента.

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

Изменение удостоверения, с которым выполняется рабочий процесс.

Запустите файл Inetmgr.exe.

Измените свойства удостоверения для использования определенной учетной записи пользователя.

Изменение удостоверения, с которым выполняется служба активации.

Запустите файл Services.msc.

Щелкните правой кнопкой мыши адаптер NET. мсмклистенер и выберите пункт свойства.

Измените учетную запись на вкладке » Вход в систему «.

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

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • windows commander что это
  • windows command prompt что это
  • windows command processor что это
  • Windows client что это
  • windows ce usb activesync устройства что это

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии