【发布时间】:2014-08-24 20:31:11
【问题描述】:
【问题讨论】:
-
谢谢。这是一个很好的答案。实际上是 log4net 产生了这个输出,但这几乎一样好。
-
欢迎来到Stack Overflow。此处的问题应显示研究工作或尝试。请拍下tour。
标签: c#
【问题讨论】:
标签: c#
如果您只想启动 HTTP 服务器并将请求写入控制台,那么使用 OWIN 和 Katana 应该很容易完成。只需安装以下 NuGet 包:
并使用以下内容:
public static class Program
{
private const string Url = "http://localhost:8080/";
public static void Main()
{
using (WebApp.Start(Url, ConfigureApplication))
{
Console.WriteLine("Listening at {0}", Url);
Console.ReadLine();
}
}
private static void ConfigureApplication(IAppBuilder app)
{
app.Use((ctx, next) =>
{
Console.WriteLine(
"Request \"{0}\" from: {1}:{2}",
ctx.Request.Path,
ctx.Request.RemoteIpAddress,
ctx.Request.RemotePort);
return next();
});
}
}
您当然可以根据自己的喜好调整输出,访问完整的请求和响应对象。
它会给你这样的东西:
【讨论】:
您可以在Web API 中使用System.Diagnostics Tracing 执行此操作。在 asp.net 网站上,您将能够阅读 a detailed article。
另一种可能性是打开 IIS 日志记录,然后读取日志文件。我不太确定这是如何完成的,这正是我在 apache2/linux 上所做的,您可以在其中 tail -f log。我读过一些关于 powershell 等价物的东西,但不是针对控制台应用程序,所以我想我会坚持使用 Tracing。
编辑: 在 SO 上环顾四周后,我发现了这个类似的问题和相关答案: How do I see the raw HTTP request that the HttpWebRequest class sends?
【讨论】: