c# – 使用工作线程的WCF服务?

前端之家收集整理的这篇文章主要介绍了c# – 使用工作线程的WCF服务?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试编写一个驻留在 Windows服务中的WCF服务.此WCF服务只会将字符串添加到列表中,然后工作线程将定期处理此列表.实现这一目标的最佳方法是什么?我读过令人困惑的相互矛盾的例子.服务和线程共享列表对象的最佳方式是什么?

更新:
感谢到目前为止的回复.只是为了澄清,我并没有在列表的同步或如何使其线程安全方面苦苦挣扎.这一切似乎与我在C中习惯的原则相同.我正在努力的是在哪里定义这个列表,以便可以从WCF服务和工作线程访问它.在C中,我会在全局范围内创建列表,但C#没有全局范围.如果我在WCF服务类中定义它,则线程无法看到它.如果我在服务类中定义它(定义并启动了线程函数),则WCF服务无法看到它.我确信我前段时间在ATL做过类似的事情,但是周五下午,灰色的细胞已经放弃了.

UPDATE2:
我应该在哪里定义工作线程?在Windows服务类(即主机)或WCF服务中? WCF服务应该是具有列表成员和线程功能的单例服务吗?这解决了访问问题.做了很多COM后,我想把WCF服务当作一个COM组件,实例在访问后就会死掉.这使我想要将静态列表和线程函数放在Windows服务类中.这仍然是感觉更自然的地方,但也许我只是没有用.NET方式思考.

解决方法

1)创建Windows服务

2)WS中的主机WCF(http://msdn.microsoft.com/en-us/library/ms731758.aspx)

3)进行线程同步(http://www.albahari.com/threading/part2.aspx)

4)利润!

原文链接:https://www.f2er.com/csharp/243145.html

猜你在找的C#相关文章