2

我需要在 IIS 上具有相同站点的多个虚拟目录上部署相同的 WCF 服务。如果我对所有这些实例都有相同的命名空间,这会导致问题吗?

4

2 回答 2

2

从技术上讲,服务不负责其托管,即 .svc 文件(或配置中的服务条目)。您应该没有任何问题,因为每个实例都位于不同的端点。人们甚至在同一个虚拟目录中也这样做,在每个端点使用不同的绑定多次托管相同的服务。例如,我的安全服务在端点使用不同的安全性托管相同的服务,具体取决于您是要使用用户名/密码、Windows 身份验证还是现有令牌进行身份验证。

于 2012-09-13T15:08:09.850 回答
1

BizTalk中 - 重复的命名空间很重要,但是以IIS 虚拟目录作为边界应该没有问题。

您可以通过MVC 服务路由使用多个端点注册服务,并完全避免创建虚拟目录。

ServiceHostFactory serviceHost = new ServiceHostFactory();
RouteTable.Routes.Add(new ServiceRoute("SoapService", serviceHost, typeof(SoapService)));
RouteTable.Routes.Add(new ServiceRoute("directory1/SoapService", serviceHost, typeof(SoapService)));
RouteTable.Routes.Add(new ServiceRoute("directory2/SoapService", serviceHost, typeof(SoapService)));

如果您对物理 SVC 文件使用经典服务激活,您应该能够将每个虚拟目录指向 SVC 文件所在的同一物理位置。

于 2012-09-13T14:31:22.720 回答