2013-05-20 6 views
1

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

В серверном 2008R2/VS2012 нет никаких проблем

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

ошибка из TraceViewer если «услуга не может открыть его IChannelListener»

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

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

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

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

IIS: Default Web сайт-> Advanced Settings-> Включены протоколы: HTTP, net.tcp
IIS: Default Web Site \ Сервис-> Расширенные настройки-> Включены протоколы: HTTP, Net.Tcp

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

+0

включена ли услуга? – ChaosPandion

+0

@ChaosPandion -Это должно быть, есть явная настройка, которую мне нужно проверить? – Eric

+0

Как насчет брандмауэра? IIS автоматически «пробивает дыру» в брандмауэре для вашего веб-сервиса? – fourpastmidnight

ответ

0

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

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-Повторите первый шаг и проверьте, если ваша служба прослушивает порт.

+0

спасибо за предложение, но, наконец, нашел еще одну известную проблему с server2012 – Eric