我在我的开发机器上运行IIS 5。我有一个asp.net3.5 Web服务在上面运行,我从同一服务器上运行的另一个Web应用程序调用它。我的服务返回错误500内部服务器错误,我正在排除它。我的请求是通过System.Net.HttpWebReques
t对象发送的,从客户端的Angular 看它是有效的。
我想从服务器的Angular 查看原始的传入HTTP请求,因为服务是在环回上调用的,所以我无法使用Wireshark查看它。
IIS日志记录显示请求标头,但不显示发布内容。
关于如何在IIS中看到完整的原始传入HTTP请求,有什么建议吗?
谢谢
5条答案
按热度按时间vbkedwbf1#
我认为您需要添加一个HTTPModule用于日志记录。Here's这是一篇关于ASP.NET模块和处理程序的非常好的文章:
这样,当您想禁用日志记录时,您只需从web.config文件中删除/注解它即可。
ukxgm1gy2#
你试过使用Fiddler吗?只要使用你的机器名而不是localhost。
vs91vp4v3#
最好的办法是在不同的端口上运行每个web应用程序,然后使用类似Fiddler的东西为你想监视的端口创建一个代理,这样就可以监视所有进出你特定应用程序的流量。
1sbrub3j4#
下面是我们用来记录HTTP POST请求数据的自定义HTTP模块的代码。
不要忘记在应用程序的web.config中注册它。
将system.WebServer节用于IIS集成模型
将system.web节用于IIS经典模型
IIS日志应用模块之前:
应用模块后的IIS日志:
全文:
https://www.codeproject.com/Tips/1213108/HttpModule-for-logging-HTTP-POST-data-in-IIS-Log
yhived7q5#
我能够记录包含许多数据(请求正文包括http post等)的请求/响应,包括所有http动词(例如:获取、发布)使用IIS Failed Request Tracing
请求不一定需要失败记录,因为您可以在那里指定任何http状态,如200、401等或全部(输入100-999)。
您还可以只记录具有特定URL的请求
稍后我将实现一个定制的http模块以获得更多的控制。
谢谢