net.tcp不再在服务器2012工作
我无法获得服务器2012 iis主机net.tcp。net.tcp不再在服务器2012工作
在服务器2008R2/VS2012没有问题
在server2012/VS2012击中我第一次收到WDSL当“协议‘的net.tcp’没有注册HostedTransportConfiguration类型的实现。”,然后如果我点击刷新,我会得到“一个具有相同密钥的项目已被添加。”
从TraceViewer的错误,如果“服务是无法打开的IChannelListener”
但我已经设置了默认的网站上的绑定(必须使用命令行,因为它如果编辑净抛出异常。 tcp在网格中,这是一个已知问题)
我已经在应用程序级别将绑定设置为http,net.tcp,创建一个具有网络服务标识的新AppPool,并使用findPrivateKey为其授予权限。
我创建了Server 2008R2/VS2012的新版本,并且没有上述步骤的问题。
编辑服务器的其他注意事项2012
添加角色和功能:
验证安装了下列:
的Web Sever的 - 应用开发:所有检查,但CGI和ASP(经典)
.NET Framework 3.5的功能:所有检查
Windows进程激活服务:所有检查
IIS:默认Web站点:绑定的net.tcp 8081:
IIS:默认Web站点 - >高级设置 - >启用的协议:HTTP,的net.tcp
IIS:默认网站\服务 - >高级设置 - >启用协议:http,net.tcp
Server2012有什么特别的吗?
这里一些提示,你可以尝试:
1,打开命令提示符(管理员),然后运行:netstat的 -ONa
检查,如果你的服务是听您的服务器端口。
示例:您的端点是net.tcp:// localhost:8015/MyService。因此,运行上面的命令,您将看到一个项目: TCP 127.0.0.1:8015 0.0.0.0聆听
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,重复第一步,检查你的服务正在侦听的端口。
感谢您的建议,但最终发现了server2012的另一个已知问题 – Eric
启用该服务? – ChaosPandion
@ChaosPandion - 应该是,我需要检查一个明确的设置吗? – Eric
防火墙怎么样? IIS会在您的Web服务的防火墙中自动“打出一个洞”吗? – fourpastmidnight