什么方式最有意义?我有一个ASP.NET应用程序...也许在未来的Silverlight应用程序..我想同时与网络服务..WCF项目与现有网站项目中的文件夹?
起初,我喜欢有WCF项目由它自我分离..
但是后来我想..因为我可以很容易地拥有一个'WEBSERVICES'文件夹,其中包含EXISTING网站项目中的所有.svc文件和代码。 ...至少这一点..部署到远程主机将是一件容易一点,因为一切都在一个项目..
任何其他的考虑?
什么方式最有意义?我有一个ASP.NET应用程序...也许在未来的Silverlight应用程序..我想同时与网络服务..WCF项目与现有网站项目中的文件夹?
起初,我喜欢有WCF项目由它自我分离..
但是后来我想..因为我可以很容易地拥有一个'WEBSERVICES'文件夹,其中包含EXISTING网站项目中的所有.svc文件和代码。 ...至少这一点..部署到远程主机将是一件容易一点,因为一切都在一个项目..
任何其他的考虑?
为什么不能有:在Contracts
装配
Services
装配WebServices
目录中这样,你有顾虑
两件事情要考虑:
安全 - 是您的服务只是要你的应用程序中使用,或者他们有在其他地方使用的潜力(毕竟他们是服务)。如果是这样,您将授予对您的应用程序的访问权限,以授予对您的Web服务的访问权限,或至少调整对特定文件夹的访问权限,这可能会导致安全漏洞。
部署 - 如果您在服务上进行了不会中断合同的更改,为了部署更改,您必须部署整个应用程序。
我倾向于采用Marc提出的方法(例如,有一个用于合同的程序集,一个用于服务实现),并将webservice作为自己的应用程序托管并从ASP.NET应用程序中引用它。通过这种方式,您可以正确分离关注点并分别维护两者。