我有一个日志记录类,它可以记录日志。我想添加自动使用消息记录当前页面的功能。
有没有办法获取我正在寻找的信息?
谢谢,
答案 0 :(得分:6)
您可以在班级中使用HttpContext.Current属性(在System.Web.dll中)。从那里,您可以创建一系列属性:
底层对象是一个Page对象,因此如果将其强制转换为该对象,则使用通常在Page对象中使用的任何对象,例如Request属性。
答案 1 :(得分:2)
它很脆弱且难以测试,但您可以使用System.Web.HttpContext.Current,它会为您提供Request属性,而该属性又具有RawUrl属性。
答案 2 :(得分:0)
public static class MyClass
{
public static string GetURL()
{
HttpRequest request = HttpContext.Current.Request;
string url = request.Url.ToString();
return url;
}
}
我试图将其分解一下:)
答案 3 :(得分:0)
过去我还推出了自己的日志记录类,并使用了 Console.Writeln(),但实际上有很多好的日志记录选项已经存在,为什么要去那里?我到处都使用NLog;它具有非常灵活的各种日志输出目的地,包括控制台和文件,大量的日志格式选项,并且设置与各种.net框架(包括紧凑)的版本是微不足道的。运行安装程序会将NLog配置文件选项添加到Visual Studio 添加新项对话框中。在代码中使用很简单:
// declare in your class
private static Logger logger = LogManager.GetCurrentClassLogger();
...
// use in your code
logger.Debug(() => string.Format("Url: {0}", HttpContext.Current.Request.Url));