wcf如何获取宿主(windows 服务)进程的实时数据

正直为神 2013-09-20 06:38:17
情景: windows 服务实时(周期1s)采集串口数据。我的WCF寄存在该windows服务上,客户通过WCF获取服务器采集的数据,其中一个函数Get1Data()是获取实时数据。我希望Get1Data()每次被调用时WCF从宿主进程获取当前的采集值。
我不希望以每秒向数据库中某个表里面更新该值,然后Get1Data()从数据库该位置读最新值,我觉得这样太绕,效率太低。希望不要牵扯到SQL SERVER。大家有什么简便高效的方法吗。谢谢!
...全文
370 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
正直为神 2013-10-07
  • 打赏
  • 举报
回复
引用 2 楼 iam_lidm 的回复:
我也想试,但是无从下手啊。他们在同一解决方案,WCF是一个项目,windows 服务又是一个项目。 是这样的 ServiceHost m_serviceHost; 在OnStrat()添加 m_serviceHost=new ServiceHost(typeof(Messaging.MessagingWCFService)); m_serviceHost.Open(); 我感觉无从下手,查了百度也没答案。
照着试了,可以,谢谢指点啊。 我在wcf服务中添加了一个类,然后按照您的指点弄好了。谢谢啊!
possible_Y 2013-09-26
  • 打赏
  • 举报
回复
采集串口数据的代码和WCF的的Get1Data()代码,它们只要是在一个进程内运行就没问题
possible_Y 2013-09-26
  • 打赏
  • 举报
回复
做个public的静态类,两个工程都可以引用到的,里面一个public static的属性或字段来存储数据 采集串口数据的程序,给public static的属性或字段赋值 WCF的Get1Data()则读取public static的属性或字段即可
正直为神 2013-09-20
  • 打赏
  • 举报
回复
我也想试,但是无从下手啊。他们在同一解决方案,WCF是一个项目,windows 服务又是一个项目。 是这样的 ServiceHost m_serviceHost; 在OnStrat()添加 m_serviceHost=new ServiceHost(typeof(Messaging.MessagingWCFService)); m_serviceHost.Open(); 我感觉无从下手,查了百度也没答案。
threenewbee 2013-09-20
  • 打赏
  • 举报
回复
既然是一个进程,直接共享变量就可以了。

12,166

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧