我在根目录(VPS,IIS 7)中有一个已发布的WCF服务。它有Service1.svc
个文件和web.config
文件
我想在子文件夹中的同一个IIS上发布另一个WCF服务(假设子文件夹的名称是subservice2
)。另一个WCF服务还有Service2.svc
个文件和web.config
文件
我应该在哪里放置第二个WCF服务的文件以使其正常工作?
我是否需要在IIS中设置或更改任何设置?
我的第一次尝试只是创建一个子文件夹subservice2
并将第二个WCF服务的所有文件放在那里,但这不起作用(如果我尝试访问Server Error in '/' Application.
,我会mysiteaddress/subservice2/Service2.svc
)。
答案 0 :(得分:1)
您有几个选择。
如果您能够克服项目合并,选项#1很容易成为您的最佳解决方案。
答案 1 :(得分:1)
为什么不将服务绑定到不同的端口?以编程方式,这相当于:
ServiceHost host = new ServiceHost(typeof(MyService));
Binding wsBinding = new WSHttpBinding( );
Binding tcpBinding = new NetTcpBinding( );
host.AddServiceEndpoint(typeof(IMyContract),wsBinding,
"http://localhost:8000/MyService");
host.AddServiceEndpoint(typeof(IMyContract),tcpBinding,
"net.tcp://localhost:8001/MyService");
host.Open();
ServiceHost OtherHost = new ServiceHost(typeof(MyOtherService));
Binding wsBinding2 = new WSHttpBinding( );
OtherHost.AddServiceEndpoint(typeof(IMyOtherContract),wsBinding2,
"http://localhost:8002/MyOtherService");
OtherHost.Open();
http://tutorials.csharp-online.net/WCF_Essentials%E2%80%94Programmatic_Endpoint_Configuration