C# 以编程方式启动/停止自托管WCF数据服务

C# 以编程方式启动/停止自托管WCF数据服务,c#,multithreading,wcf-data-services,C#,Multithreading,Wcf Data Services,嗨,我有几个项目的解决方案。 其中之一是自托管WCF数据服务 他自己的服务运行得很好,但我想从我的主要方法开始。 这样我可以控制是启动还是停止 我之所以需要这样做,是因为我可以运行main方法并让服务启动,但当程序退出时,服务仍在运行 有人知道如何解决我的问题吗 --编辑-- 这种服务对我来说是新鲜事。所以我甚至不确定这是否可能。 假设我有两个项目。一个包含我的主要方法,另一个是WCF服务应用程序项目。 我想能够停止我的服务,从主项目内,每当我想 --编辑2-- 我正在创建一个可以通过API(W

嗨,我有几个项目的解决方案。 其中之一是自托管WCF数据服务

他自己的服务运行得很好,但我想从我的主要方法开始。 这样我可以控制是启动还是停止

我之所以需要这样做,是因为我可以运行main方法并让服务启动,但当程序退出时,服务仍在运行

有人知道如何解决我的问题吗

--编辑--

这种服务对我来说是新鲜事。所以我甚至不确定这是否可能。 假设我有两个项目。一个包含我的主要方法,另一个是WCF服务应用程序项目。 我想能够停止我的服务,从主项目内,每当我想

--编辑2--


我正在创建一个可以通过API(WCF数据服务)向客户机提供数据的系统。当我的系统启动时,我想启动服务。当我的系统关闭时,我的服务必须停止现有或至少提供数据。

也许您可以提供有关您的场景的更多信息。如果您真的想在应用程序运行时启动服务,并在应用程序结束时立即停止服务,那么首先拥有一个专用服务是没有任何意义的。您完全可以将服务类用作应用程序中的普通实例变量。您可以发布自托管服务代码的托管部分吗?您不能在应用程序中使用此代码来承载您的服务吗?通常,您应该有一个具有Open()和Close()方法的ServiceHost。您只需要调用Close()。如果是两个独立的应用程序(应用程序和服务),那么最好只有一个公共应用程序同时执行这两个操作,无论应用程序做什么,再加上服务托管。