想开发一个Windows服务作为其他应用程序的记录器

问题描述:

我们有很多应用程序在我们的服务器上运行,使用企业库进行登录。我们希望开发一个日志记录服务,它可以用作所有这些应用程序可以调用的通用日志记录服务,并且这样它们将全部记录到单个日志文件,并且*记录器将控制所有配置。我正在寻找一些设计解决方案,看看这个服务应该是什么样子。它应该是一个.net远程或WCF界面暴露的Windows服务?想开发一个Windows服务作为其他应用程序的记录器

+0

将您的WCF服务托管为Windows服务 – NoviceProgrammer 2013-03-09 19:14:36

我会推荐使用.NET Remoting和IPC通道。

这里是一个教程/例如:http://www.codeguru.com/csharp/csharp/cs_syntax/remoting/article.php/c9251/NET-Remoting-Using-a-New-IPC-Channel.htm

我用几个应用程序/服务很多次之间的进程间通信这种方法。

另外,你有没有看过使用类似log4net的东西?它非常强大。

http://logging.apache.org/log4net/

我不是太熟悉EntLib的日志代码,但log4net的是巨大的。

另一种选择是只建立一个单一的共享组件/项目,所有的应用程序使用 - 这样你就不需要在后台运行的服务,但这些代码在所有的应用程序一样。

+1

.NET Remoting? WCF是替代品。为什么你会选择使用旧的传统技术? – Tim 2013-03-09 00:28:58

+0

我是WCF的新手,它是否对系统有性能影响,编写WCF接口进行日志记录,因为它经常会被调用。它将使用什么协议? – user2150242 2013-03-11 04:11:00

企业图书馆有,你可以使用远程登录服务:http://nuget.org/packages/EnterpriseLibrary.Logging.Service/

它最初与Silverlight集成包一起发布,但仅仅是一个WCF服务。