哪种方式最有意义?我有一个ASP.NET应用程序...可能是未来的Silverlight应用程序..我希望两者都能与Web服务进行交流..
首先,我喜欢将WCF项目自行分离..
但后来我想..有什么意思,因为我可以很容易地拥有一个'WEBSERVICES'文件夹,其中包含EXISTING网站项目中的所有.svc文件和代码。 ......这样的方式......部署到远程主机会更容易,因为一切都在一个项目中。
任何其他考虑因素?
答案 0 :(得分:0)
为什么没有:
Contracts
程序集中的WCF服务和数据合同Services
程序集WebServices
目录那样,你有
答案 1 :(得分:0)
需要考虑两件事:
安全性 - 您的服务仅供您的应用程序使用,或者它们是否有可能在其他任何地方使用(毕竟它们是服务)。如果是这样,您将授予对您的应用程序的访问权限,以便授予对您的Web服务的访问权限,或者至少调整对该特定文件夹的访问权限,这可能会导致安全漏洞。
部署 - 如果您对服务进行了不违反合同的更改,那么为了部署更改,您必须部署整个应用程序。
我更愿意采用Marc建议的方法(例如,有一个合同程序集,一个用于服务实现),并将webservice作为自己的应用程序托管,并从ASP.NET应用程序引用它。通过这种方式,您可以正确分离关注点,并且可以单独维护。