【问题标题】:IIS API Monitor in a web applicationWeb 应用程序中的 IIS API 监视器
【发布时间】:2012-01-29 23:26:07
【问题描述】:

我正在尝试实现一个位于 IIS 和应用程序之间的简单 Web 应用程序。我需要监控 API 活动以获取调用和传出消息。我一直在尝试按照此处的指示处理 HTTPListener:http://msdn.microsoft.com/en-us/library/system.net.httplistener.aspx,但请求始终为空。可能我找错地方了,但非常感谢您在这方面的任何帮助/经验。

谢谢!

【问题讨论】:

  • 您在寻找网络代理吗?
  • 总之...是的,但是pp需要对客户端透明
  • 如果它必须独立于 IIS 运行(这样 Brijesh 在下面的回答将不起作用),那么 .NET 中的选项相当有限,并且在任何情况下使用 HttpListener 绝对不会是透明的。但是,您可以使用带有正确过滤器的 SharpPcap (tamirgal.com/blog/page/SharpPcap.aspx) 之类的东西来监控网络流量。
  • 我希望实现它来操纵流量请求和响应。我知道 Fiddler 做这项工作,它使用 SharpPcap 库,但我需要一些东西来 1)做一些我开发的额外功能,以及 2)坐在 IIS 和 API 之间而不会造成延迟。正如您所暗示的,我将深入研究 SharpPcap,但是您知道我正在尝试实现的任何简单示例吗?谢谢!

标签: c# api iis web-applications httplistener


【解决方案1】:

您需要使用 httpmodule 和 httphandler,如果您想要更通用,请查看 ISAPI 过滤器

【讨论】:

  • 在我看来 httpmodule 可能对我有用,如此处所述:forums.asp.net/post/3416052.aspx,但有人知道实现统计和/或日志记录的工作示例吗?似乎是一个更简单的解决方案,然后使用 3rd 方库
  • 如果您使用的是 iis 7。请查看 appfabric。我不太确定它是否会有所帮助
  • 嗯......只是撞到了一堵砖墙。我快速浏览了一下 appfabric,但这不是我想要的。此外,我没有想要监控的现有应用程序的源代码来实现 httpmodule。如果有人想要一个好的例子作为参考,MS 在这里有一个很好的演练:msdn.microsoft.com/en-us/library/ms227673.aspx
  • 成功实现了 httpmodule 和 httphandler(有点),但现在返回给客户端的值就是我正在记录的值。有什么方法可以保留价值吗? ` public void ProcessRequest(HttpContext context) { context.Response.Write("页面请求是" + context.Request.RawUrl.ToString()); StreamWriter sw = new StreamWriter(@"C:\requestLog.txt", true); sw.WriteLine("页面请求在 " + DateTime.Now.ToString() + context.Request.RawUrl); sw.Close(); } public bool IsReusable { 得到返回真; }`
  • 在这里找到答案:forums.asp.net/post/2417324.aspx。感谢您的帮助@brijesh-mishra
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 2019-09-14
  • 1970-01-01
  • 2015-06-20
  • 2011-10-22
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
相关资源
最近更新 更多