2011-08-30 130 views
2

我被要求将我的WCF服务分成若干不同的.svc文件,每个逻辑操作组一个。现在的问题是,我必须承载他们在完全相同的地址多个WCF服务

http://somehost/ProjectX/ 

,我真的不知道我是否可以把它们放在因为完全相同的路线,虽然.SVC文件有不同的名称,它们的配置文件全部共享名称Web.config。我怎样才能解决这个问题?我应该用

http://somehost/ProjectX/Service1/Service1.svc 
http://somehost/ProjectX/Service2/Service2.svc 
... 

+0

如果它们可以访问,共享一个配置它们有什么问题? –

+1

因为我不认为我应该按逻辑分开服务,然后再将它们合并到同一个配置文件中。 – User

+0

它是如何“合并”?它们每个都加载自己的副本 - 除非每个服务都需要_different_配置元素(其中一个不应该知道其他配置元素),则重复配置似乎是多余的,如果设置发生更改,您需要将其全部更改。 –

回答

1

默认情况下,服务能够共享基地址,他们只需要拥有不同的合同(URL的结束位)。我在这个主题上写了一篇文章,但从那时起我停止为托管支付,并且从来没有时间迁移这篇文章。代码在github上仍然可用,并且有一点持久性,应该很容易理解如何去做。

该项目显示了如何在一个Windows服务中托管许多WCF服务。它允许你这样做:

http://localhost:8083/WCFServices/IService1 
http://localhost:8083/WCFServices/IService2 
http://localhost:8083/WCFServices/IService3 
+0

对不起,提出一个旧帖子,但你的链接已经死了。可能希望将信息放在这里或更新它。谢谢! –

+0

嘿@JamesRalston。 Tnx提出这个问题。我停止为我的托管支付费用,因为我的提供商不断通过电子邮件向我询问账单密码“以确认我的身份”。我仍然有github上的代码,但没有太多的文档:(希望有人可以环顾项目来弄清楚如何做到这一点。 – oleksii