net.tcp больше не работает на сервере 2012

Я не могу получить сервер 2012 iis для размещения net.tcp.

На сервере 2008R2/VS2012 проблем нет

В server2012/VS2012 при нажатии wdsl я сначала получаю «Протокол net.tcp не имеет зарегистрированной реализации типа HostedTransportConfiguration», затем, если я нажимаю «Обновить», я получаю «Элемент с тем же ключом уже был добавлен ."

Ошибка от TraceViewer, если «служба не может открыть свой IChannelListener»

Но я установил привязки на веб-сайте по умолчанию (пришлось использовать командную строку, потому что она выдает исключение, если вы редактируете net.tcp в сетке, это известная проблема)

Я установил привязки на уровне приложения к http,net.tcp, создал новый AppPool с идентификатором сетевой службы и использовал findPrivateKey, чтобы предоставить ему разрешения.

Я создал новую виртуальную машину Server 2008R2/VS2012, и у меня не было проблем с описанными выше шагами.

Изменить дополнительные примечания для server 2012
Добавить роли и компоненты:
Проверено, что установлено следующее:
Веб-сервер — разработка приложений: отмечены все, кроме CGI и ASP (классический)
.NET Framework Функции 3.5: проверено все
Служба активации процессов Windows: проверено все
IIS: веб-сайт по умолчанию: привязки net.tcp 8081:

IIS: веб-сайт по умолчанию->Дополнительные настройки->включенные протоколы : http,net.tcp
IIS: Веб-сайт по умолчанию\Сервис->Дополнительные настройки->включенные протоколы: http,net.tcp

Есть ли что-то особенное для Server2012?


person Eric    schedule 20.05.2013    source источник
comment
Услуга включена?   -  person ChaosPandion    schedule 20.05.2013
comment
@ChaosPandion - Должно быть, есть ли явная настройка, которую мне нужно проверить?   -  person Eric    schedule 20.05.2013
comment
Что насчет брандмауэра? Пробивает ли IIS автоматически брешь в брандмауэре для вашего веб-сервиса?   -  person fourpastmidnight    schedule 20.05.2013
comment
@fourpastmidnight Я отключил брандмауэр для проверки   -  person Eric    schedule 20.05.2013


Ответы (2)


После дня поисков наконец нашел. Я думаю, это еще одна известная проблема с server2012 и IIS8.

http://support.microsoft.com/kb/2803161

person Eric    schedule 20.05.2013

Вот несколько советов, которые вы можете попробовать:

1-Откройте командную строку (от имени администратора) и запустите: netstat -ona

Проверьте, прослушивает ли ваш сервис порт вашего сервера.

Пример: ваша конечная точка — net.tcp://localhost:8015/MyService. Итак, запустив приведенную выше команду, вы увидите пункт: TCP 127.0.0.1:8015 0.0.0.0 LISTENING

2-Если ваша служба не прослушивается, создайте консольное приложение и самостоятельно разместите свою службу. Пример:

using System.ServiceModel.ServiceHost;
public class Sample
{
    ServiceHost host = new ServiceHost(typeof(MyService));

public static void Main()
{
        host.Open();

        Console.WriteLine("listening...");

        Console.Read();

        host.Close();
    }
}

3-Повторите первый шаг и проверьте, прослушивает ли ваш сервис порт.

person Thiago Custodio    schedule 20.05.2013
comment
спасибо за предложение, но, наконец, нашел еще одну известную проблему с server2012 - person Eric; 21.05.2013