Jon*_*nyD 1 .net windows service
我正在使用C#开发一个自定义Windows服务,它将管理多个.NET应用程序实例的状态.如何通过ServiceController将数据(如令牌)传递给服务?
这是可能的还是我不完全理解Windows服务背后的设计意图?
JonnyD,
只是为了确保我们在同一页面上:如果您正在创建自己的服务,那么您将从System.SystemProcess命名空间中的ServiceBase类派生.该ServiceController的可用于与Windows服务交互(比如你正在创建的),但的意图ServiceController的类,它主要用于服务控制以同样的方式在Windows服务控制管理器(SCM )启动,停止,暂停等Windows服务.您可以通过ServiceController的ExecuteCommand方法与您的服务进行某种形式的"业务交互" ,但这并不是它的主要目的.
大多数旨在与其他应用程序交互的Windows服务通常会建立侦听器和其他众所周知的端点,调用者可以将这些端点用于交互.这些侦听器可以通过远程处理,Web服务,WCF等来处理,并且可以在服务启动时创建(例如,OnStart方法触发)并在服务顶部(OnStop)上拆除.
我不知道您尝试使用服务的具体要求,但您表示您正在寻求创建状态管理服务.这些是相对常见的服务,它们通常被创建为单例,以确保所有调用者访问所需状态管理类/类型的一个实例.以下链接可能会为您提供有关如何使用远程处理实现此类服务的一些想法和指导.如果您对WCF更熟悉,也可以使用它代替.NET远程处理:
http://www.codeproject.com/KB/IP/Chat_Application.aspx
您将拥有状态管理服务器/类型,而不是ChatServer(如示例中所示).
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
2804 次 |
| 最近记录: |