C# 将WCF的托管从自托管更改为Windows服务托管的方便性
我目前正在做一个应该作为WCF服务实现的项目(当然还有一个客户端应用程序) 项目还需要使用实体框架(代码优先方法)作为服务和数据库之间的ORM层 最终,此服务应作为Windows服务托管。一开始我想知道我是否可以使用自托管,然后切换到Windows服务托管。在VisualStudio中切换而不手动复制文件和代码有多容易 谢谢创建一个“XXXServiceLibrary”项目(dll),该项目包含服务且不包含托管逻辑。在这里实现您的服务及其所有逻辑 虽然您只关注服务,而不关心托管服务,但您可以使用以下主机之一:C# 将WCF的托管从自托管更改为Windows服务托管的方便性,c#,.net,wcf,visual-studio-2010,wcf-hosting,C#,.net,Wcf,Visual Studio 2010,Wcf Hosting,我目前正在做一个应该作为WCF服务实现的项目(当然还有一个客户端应用程序) 项目还需要使用实体框架(代码优先方法)作为服务和数据库之间的ORM层 最终,此服务应作为Windows服务托管。一开始我想知道我是否可以使用自托管,然后切换到Windows服务托管。在VisualStudio中切换而不手动复制文件和代码有多容易 谢谢创建一个“XXXServiceLibrary”项目(dll),该项目包含服务且不包含托管逻辑。在这里实现您的服务及其所有逻辑 虽然您只关注服务,而不关心托管服务,但您可以使用
- (http://msdn.microsoft.com/en-us/library/bb552363.aspx)
- IIS/WAS(创建web项目XXXIISServiceHost,并在web.config中输入托管服务所需的配置。为了简单起见,您还可以使用.svc文件)
- 一个简单的控制台应用程序XXXConsoleServieHost,并手动编写您的自托管逻辑。但是,如果您的服务不需要任何特殊的托管逻辑,请使用前两个选项之一
你明白了。将服务库与其宿主项目分开。是的,从一个主机转移到另一个主机是非常简单和直接的。在大多数情况下,您不需要重复配置工作;只需复制即可。在Windows服务中托管是自托管。没有区别。那么这两者之间的区别是什么:和?小写字母服务和大写字母服务(对我来说)不一样。第一个链接是Windows服务(就像在管理工具中一样)。第二个链接主机只有一个.exe。如果这将是一个数据服务,那么它通常托管在IIS中。只是一个评论,因为我不完全理解你的问题。嗯@Blam,我的服务最终应该作为服务中的一个服务运行。msc它应该有OnStart和OnStop,但每次我进行更改时都需要安装它,因此不利于调试。所以我想知道如何使用自托管进行调试,然后使其成为一项服务并实现安装程序如果这是一个问题,那么您会得到一个很好的答案。谢谢Moussa。我想我会在开发过程中使用WCFServiceHost,这是一个不错的选择。我忘了提。在VisualStudio中,如果创建“wcf服务库”项目类型,它会为您集成WCFServiceHost,以便您可以“启动”项目。您也可以在VisualStudio中自行设置。更好的是,您还可以在项目启动时启动wcftestclient。见: