【发布时间】:2009-11-26 16:04:15
【问题描述】:
我有一个 asp.net 3.5 站点,我刚刚编写了一些 wcf 服务。可以将 .svc 文件放在我的 .aspx 文件旁边,或者我应该将我的 .svc 文件移动到单独的虚拟目录和 IP 上,并将其命名为 services.mydomain.com。
只是想知道最佳实践是什么。也许它没有任何区别?我有一个客户端应用程序,它将更新我的网站使用的数据库。它通过 IIS 托管的 wcf 服务进行更新。
【问题讨论】:
我有一个 asp.net 3.5 站点,我刚刚编写了一些 wcf 服务。可以将 .svc 文件放在我的 .aspx 文件旁边,或者我应该将我的 .svc 文件移动到单独的虚拟目录和 IP 上,并将其命名为 services.mydomain.com。
只是想知道最佳实践是什么。也许它没有任何区别?我有一个客户端应用程序,它将更新我的网站使用的数据库。它通过 IIS 托管的 wcf 服务进行更新。
【问题讨论】:
恕我直言,最好将 Web 服务隔离到单独的虚拟目录和应用程序池中。在这种情况下,客户端应用程序和 Web 服务不共享同一个 AppDomain,如果其中一个失败,另一个将继续为请求提供服务。
【讨论】:
在我们的项目中,我们倾向于将它们保存在单独的虚拟目录中。我喜欢将服务视为可以由多个客户端使用的东西,因此我喜欢将它的部署和托管与客户端分开。当然,如果你只是把它放在一个单独的虚拟目录中,你可以争论托管在多大程度上是分开的,但至少在逻辑层面上是分开的,并且在必要时很容易移动到单独的物理主机。
【讨论】:
您绝对不希望将它们放在同一个地方 - 尤其是因为它很难配置适当的安全级别。它还使配置更简单,因为它们不会共享web.config。
【讨论】: