C# 是否有方法记录/跟踪从WCF服务进行的所有SQL查询?

C# 是否有方法记录/跟踪从WCF服务进行的所有SQL查询?,c#,wcf,azure-sql-database,C#,Wcf,Azure Sql Database,我正在处理一个WCF服务,我希望能够在本地运行该服务时获得它发出的所有SQL查询的转储 目前,它通过大量分散的SqlCommand执行存储过程,因此我只想获得运行的每个查询的列表 我是否可以设置任何类型的工具或配置来记录此信息?通常我只会使用类似于SQL Profiler的东西,但我正在寻找从WCF角度运行的东西,因为我正在访问Azure数据库,SQL Profilier将无法与Azure(afaik)一起工作。我不知道在使用SqlCommand/SqlConnection时有一种内置的方式来记

我正在处理一个WCF服务,我希望能够在本地运行该服务时获得它发出的所有SQL查询的转储

目前,它通过大量分散的
SqlCommand
执行存储过程,因此我只想获得运行的每个查询的列表


我是否可以设置任何类型的工具或配置来记录此信息?通常我只会使用类似于SQL Profiler的东西,但我正在寻找从WCF角度运行的东西,因为我正在访问Azure数据库,SQL Profilier将无法与Azure(afaik)一起工作。

我不知道在使用SqlCommand/SqlConnection时有一种内置的方式来记录所有SQL代码

我在msdn上找到了这篇文章:也许它为你指明了正确的方向


我能想象的一种更简单但不是很通用的方法是,编写一个继承自SqlCommand的类,并将所有方法委托给真正的SqlCommand,同时添加一些日志记录。

是的,按照Jan所说的,我不知道只有一个可以插入SqlCommand/SQLConnections的通用日志记录程序,但是如果您正在生成SQLCommands来自您可以使用的标准化位置

然后从那里将命令文本传递给某种通用记录器,如log4net/Console.Write/或MS Ent库中的某些内容


可能不是您希望的简单解决方案:-)理想情况下,您可以在配置文件中注册一些日志类,但我也不知道有类似的情况:-/

请参见。@Brent是的,我看到了,这就是为什么我从只记录WCF服务中的所有内容的角度来处理这个问题。我想要一些类似于配置的东西,你可以设置它来记录你的所有WCF呼叫,你的应用程序也可以这样做。你在使用ORM吗?我使用NHibernate,它支持通过log4net记录所有内容。@Mike不,直接
SqlCommand
s:-/是的,我知道EF和NHibernate都有,我很确定L2S也有。