3

我目前正在开发一个应该作为 WCF 服务实现的项目(当然还有一个客户端应用程序)。

该项目还需要使用实体框架(代码优先方法)作为服务和数据库之间的 ORM 层。

最终,此服务应作为 Windows 服务托管。一开始我想知道是否可以使用自托管然后切换到 Windows 服务托管。在不手动复制文件和代码的情况下切换 Visual Studio 是多么容易。

谢谢

4

1 回答 1

4

创建一个包含服务但不包含托管逻辑的“XXXServiceLibrary”项目 (dll)。在此处实现您的服务及其所有逻辑。

虽然您只关注服务,而不关心托管它们,但您可以使用以下主机之一:

  • WCFServiceHost (http://msdn.microsoft.com/en-us/library/bb552363.aspx)
  • IIS/WAS(创建一个 Web 项目 XXXIISServiceHost,并在 web.config 中输入必要的配置以托管您的服务。为简单起见,您也可以使用 .svc 文件)
  • 一个简单的控制台应用程序 XXXConsoleServieHost,并手动编写您的自托管逻辑。但是,如果您的服务不需要任何特殊的托管逻辑,请使用前两个选项之一。

完成服务的开发和单元测试后,创建 XXXWinSvcServiceHost 项目(Windows 服务),并在其中实现托管逻辑。

你说对了。将您的服务库与其托管项目分开。是的,从一台主机转移到另一台主机非常简单直接。大多数情况下,您不需要重复配置工作;把它复制过来。

于 2012-06-28T23:08:04.250 回答