C# 是否可以在IIS中编写全局HttpModule并记录SQL
是否可以在IIS中写入全局HttpModule并记录所有运行的.NET应用程序的所有SQL请求?如果是,我应该从哪里开始C# 是否可以在IIS中编写全局HttpModule并记录SQL,c#,sql-server,httpmodule,C#,Sql Server,Httpmodule,是否可以在IIS中写入全局HttpModule并记录所有运行的.NET应用程序的所有SQL请求?如果是,我应该从哪里开始 我见过一些这样做的工具。他们的工具记录所有SQL,不需要我在我的应用程序中添加任何特殊代码。事实上,它会记录所有应用程序的信息。如果要记录SQL请求,您需要以下之一: 用于所有SQL请求的自定义数据层类,可以记录每次调用。例如,使用调用SQLCommand.ExecuteQuery的方法创建一个类SQLHelper,然后获取传入的查询并记录它。然后,您必须严格遵守规则,确保每
我见过一些这样做的工具。他们的工具记录所有SQL,不需要我在我的应用程序中添加任何特殊代码。事实上,它会记录所有应用程序的信息。如果要记录SQL请求,您需要以下之一:
SQLCommand.ExecuteQuery
的方法创建一个类SQLHelper
,然后获取传入的查询并记录它。然后,您必须严格遵守规则,确保每个SQL调用都通过帮助器类进行路由DataContext.Log
属性您无法从.Net全局HTTP模块捕获所有标准ADO.Net SQL请求,因为您不知道或无法访问当前正在执行的所有连接和命令。@Jamey:事实上,它属于第3类。它是一个windows服务,可能使用跟踪来捕获SQL请求,但这种情况发生在SQL Server中,而不是在.NET中。如果您自己在数据库上设置跟踪,您可以让它永远运行,如我所说,登录到文件或表中,并且可以使用.NET代码处理数据,例如显示结果。但是您不能纯粹从.NET HttpModule捕获SQL查询。@Jamey:参见此处示例:。您可以在5分钟内轻松完成此操作,然后您将拥有所需的所有数据。干杯:)