ASP.NET MVC 跟踪问题

2023-12-20

Question

如何使 ASP.NET MVC 跟踪信息与作为 Trace.axd 的页内跟踪输出保持一致?我可能遗漏了一些明显的东西,如果你看到它,请指出。

传统 ASP.NET 的背景信息

因此,回到常规的 ASP.NET 时代,您只需将以下内容添加到您的 web.config 中:

<system.diagnostics>
    <trace>
        <listeners>
            <add name="WebPageTraceListener" type="System.Web.WebPageTraceListener, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </listeners>
    </trace>
</system.diagnostics>
...
<system.web>
    <trace enabled="true" pageOutput="true" writeToDiagnosticsTrace="true"/>
...
<system.codedom>
    <compilers>
        <compiler language="c#;cs;csharp" extension=".cs" warningLevel="1" compilerOptions="/d:TRACE" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

然后您可以在页面中添加以下内容:

HttpContext.Current.Trace.Write("Write Trace Here");
or
System.Diagnostics.Trace.Write("Write Trace Here");

如果您点击您的页面(即 localhost:61115/Default.aspx),您将获得一个很好的跟踪表,其中嵌入了 asp.net 页面事件的自定义跟踪:

aspx.page Begin Load 0.00343 0.000357
test 0.00462176 0.001192 
aspx.page End Load 0.00526904 0.000018 

点击 localhost:61115/Trace.axd?id=0 将保留与页内跟踪输出相同的跟踪结果。

ASP.NET MVC 背景信息

不幸的是,由于我未知的原因,我无法让它在 ASP.NET MVC 2.0 中工作。我使用与上面列出的类似的 web.config 设置。有趣的是我只能得到部分工作的痕迹。因此,如果我点击功能等效的默认页面(又名我的 homecontroller 的索引操作方法),我会看到所有传统的 ASP.NET 页面事件,例如预初始化、预加载、预渲染等,但没有使用 System.Diagnostics 或 System.Diagnostics 的自定义跟踪消息HttpContext.Trace.Write。

但是,如果我转向 Trace.axd?id=0 文件,我会看到自定义跟踪消息,但不会看到 ASP.NET 页面事件跟踪输出。我一定遗漏了一些东西,导致我在页内和trace.axd 中看到的跟踪信息不一致(回想一下,传统的asp.net 输出相同的页内和trace.axd 输出)。我真的很想让我的页内跟踪信息与trace.axd 一致(通过删除传统的asp.net 页面事件或其他方式)。我有什么遗漏的吗?


直接引用《MVC 2 in action》一书:

当你在Web中调用Trace.Write()时 表单,您正在与 Trace-上下文类。这存在于 你在 ASP.NET MVC 中的 ViewPage,但是这个 不是你想要写的地方 追踪陈述。当你已经 将接力棒传递到视图, 那里没有你需要的逻辑 追踪。相反,您想要追踪 嵌入你的逻辑 控制器。您可以尝试利用 你的 TraceContext 类 控制器,但这些语句不会 曾经进入过名单 跟踪日志中的消息(在您的 页面或 Trace.axd 上)。相反,你 可以使用 System.Diagnostics.Trace 和 设置你自己的 TraceListeners 检查您的活动 控制器。或者,您可以 利用更成熟的日志记录 log4net 或 NLog 等框架:

您调试 ASP.NET MVC 应用程序 就像任何 .NET 一样 应用。然而,追踪并不 为 MVC 提供尽可能多的服务。相反,你 可以依靠内置 .NET 中的 TraceListeners,或利用 像那些好的日志库 之前提到。另一个方面 错误记录是健康监控。

很抱歉没有用我自己的话回答,但我认为这个解释是正确的:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 跟踪问题 的相关文章

  • Web API 和 ASP MVC 之间的主要区别是什么

    标题确实总结了我的问题 我已经使用了这两种技术 但我不确定其中一种技术与另一种技术有何显着不同 在本质上 在设计一个宁静的 Web 应用程序时 选择 ASP MVC 或 Web API 时应考虑哪些标准和 或指南 Purpose ASP N
  • 需要用户使用 NTLM 重新进行身份验证

    我是 NTLM web config 中的authenication windows 有一个 asp net mvc 2 0 站点 现在 一旦用户登录 他们就会一次保持登录状态数周 该应用程序的使用正在向共享使用登录服务帐户的计算机的用户开
  • ASP.NET MVC 动作过滤器

    有谁知道即使在 CATCH 块中 ActionFilterAttribute 类的 OnResultExecuted 方法是否也会执行 ie CookiesActions public ActionResult Login Usuarios
  • Ajax.BeginForm 无法与 Html.ValidationSummary 一起使用

    我正在尝试使用 Ajax BeginForm 将数据发布到控制器 如果出现特定错误 表单应重新呈现并显示添加到 ModelState 的自定义错误消息 由于某种原因 错误消息未显示 我什至正在尝试以下不起作用的测试用例 我是否遗漏了什么 E
  • AspNet vNext 上的 Kestrel 不提供 / 下的索引页面

    我需要能够在默认网址下提供我的 index html 使用 Kestrel Web 服务器 现在我只能使用完整路径访问我的静态文件 即 index html 同样 这在 VisualStudio 上完美运行 上下文是带有 Kestrel 的
  • MVVM ViewModel 与 MVC ViewModel

    ViewModel 是一个在 MVVM Model View ViewModel 和 ASP NET MVC 的推荐实现中使用的术语 鉴于每种模式都使用相同的术语 研究 ViewModel 可能会令人困惑 MVC ViewModel 和 M
  • Asp.Net Mvc 复选框的默认值?

    model DefaultValue true public bool IsActive get set view Html CheckBoxFor model gt model IsActive html 输出 这是我的预期
  • ASP.Net MVC 上的防伪系统

    当我输入以下代码时 using Html BeginForm LogOff Account FormMethod Post new id logoutForm Html AntiForgeryToken a href Log off a t
  • 如何在不包含 MicrosoftAjax.js 的情况下使用 MicrosoftMvcValidation.js?

    如果您想使用 jQuery Validate 但不想使用主要的 Microsoft AJAX 那么 MVC 2 RC1 中似乎存在问题 即使压缩后 它也有 25kb 根据 Phil Haack 的说法 你应该能够只需包含这些脚本 http
  • 使用 ASP.NET MVC Linq To SQL 进行验证:如何避免编辑生成的源?

    我正在阅读一些关于验证的文档ASP NET MVC 忽略那些建议重新发明轮子编写自己的验证逻辑的人 大多数文章提倡使用xVal或数据注释验证器 两者都允许通过装饰模型的属性 进行声明性验证 我想我会去xVal 因为它似乎是最受建议的 因此
  • Azure 网站中的 404 处理

    我在 Azure 上有一个 MVC 网站 我已经编写了一个控制器操作来代表资源 该操作应该返回 HTTP 404 但正文内容应该是一些 HTML 我在其中解释了 404 的原因 这是作为一个标准操作实现的 该操作设置Response Sta
  • ASP.NET MVC运行IIS7部署问题

    我在将 ASP NET MVC 应用程序部署到 IIS7 时遇到问题 我有一个使用 ASP NET MVC Beta 1 创建的 MVC 项目 它仅包含未修改的默认模板 该应用程序在 VS2008 中运行得很好 但是当我将其发布到本地 II
  • 如何确定异常是否属于特定类型

    我有一段 try catch 代码 try catch Exception ex ModelState AddModelError duplicateInvoiceNumberOrganisation The combination of
  • 关于JSON和序列化的问题

    我的视图模型有一个强类型视图 其中包含一个对象 Person 和一个技能列表 人是很直率的 我像这样使用 Html Helpers Html TextBoxFor m gt m Person FirstName 我提交表格并得到我想要的 问
  • Automapper实体框架外键为空

    我正在尝试使用实体框架更新数据库 我使用自动映射器将实体映射到视图模型 并以相同的方式将其映射回来 HttpPost ValidateAntiForgeryToken public ActionResult Edit FromJson My
  • 仅为登录用户显示菜单项

    我是 ASP NET MVC 新手 正在使用该框架的 1 0 版本 我有一个 site master 页面 其中包含以下硬编码菜单 div ul li li li li li li li li ul div
  • ASP.NET 中获取当前域的最佳方法是什么?

    我想知道在 ASP NET 中获取当前域的最佳方法是什么 例如 http www domainname com subdir http www domainname com subdir 应该产生http www domainname co
  • 使用 ASP.Net vNext 发送邮件

    一般来说 在传统的 ASP Net 和 Net 中 发送邮件是通过System Net Mail所在的类System dll 现在有了KRE vNext好像就没有了System Net Mail作为一个单独的包 参考 net453 框架在p
  • 如何在 Razor 中设置数字编辑器的最小值、最大值和默认值

    我有一个 int 值 我想将其渲染为数字 up down 其 id 为 Quantity 因此我在 razor 中执行以下操作 div class field label Html LabelFor m gt model Quantity
  • 有没有办法在 jqgrid treeGrid url 请求中传回附加数据?

    i am 使用 jqgrid 树视图 http www trirand com jqgridwiki doku php id wiki 3atreegrid我正在传回 json 响应 效果很好 我想将一些有关请求的附加信息传递回 GUI 并

随机推荐

  • 在 python alpine docker 中安装 python numpy 模块

    我正在尝试 dockerize 我的 python 应用程序 构建 Dockerfile 和安装依赖项时显示错误scikit learn ie numpy Dockerfile FROM python alpine3 8 RUN apk u
  • 改进 Ubuntu 12.04 (GTK) 下的 JFileChooser

    我有一个问题JFileChooser在 Ubuntu 12 04 下 我使用此代码来设置外观 javax swing UIManager setLookAndFeel javax swing UIManager getSystemLookA
  • 检查 Android Media Player 是否可以播放文件

    在Android中 有没有办法检查给定文件是否是媒体播放器的合法文件 这是我当前测试文件是否可以在媒体播放器中播放的方法 public boolean isPlayable File file try Uri uri Uri fromFil
  • 使用 Java 将 Paypal 集成到 Web 应用程序中

    我想将 paypal 集成到我的网络应用程序中 我正在使用 RESTEasy API 来处理宁静的请求 我想知道如何将 paypal 集成到我的应用程序中 我已经从他们的网站下载了 paypal java sdk 但现在我没有好的应用程序可
  • Powershell:导入模块

    我一直在尝试在 win2008 标准服务器上使用应用程序结构缓存 当我执行以下命令时 我得到 导入模块分布式缓存管理 Import Module 未加载指定的模块 DistributedCacheAdministration 因为在任何模块
  • 加载位图时出现内存不足错误

    我有一个带有 3 个活动的 Android 应用程序 A1 starts gt A2 starts gt A3 当完成他的过程时 开始 gt A1 所以我不会 finish 应用程序 我在用户交互后始终用 startActivity 开始下
  • Seaborn ValueError:零大小数组到没有身份的缩减操作最小值

    我从他们自己的例子中运行了这个散点图seaborn示例website https seaborn pydata org generated seaborn scatterplot html import seaborn as sns sns
  • System.Drawing.Image.FromStream() 方法中的“参数无效”异常

    我在网站中使用 Image FromStream 方法时遇到了困难 下面的代码在我的电脑上完美运行 但是当我将其上传到测试服务器时 它总是给出 参数无效 异常 if afuImageFile IsUploading afuImageFile
  • 如何设置散景中选定/未选定字形的属性

    我有一个由一些可观测值的时间序列组成的数据集 我想使用散景来查看时间序列中不同点的相图 我想知道的是如何更改选定或未选定字形的属性 在这种情况下 我想减少未选定点的 alpha 或更改选定点的颜色 下面的代码创建了我想要在 ipython
  • 验证器和 ClientIDMode 问题 (ASP.NET)

    ASP NET 4 0 引入了 ClientIDMode 属性 它允许指定如何在输出 html 中呈现 html 元素的 id 我的项目当前设置为 静态 最短 不包含层次结构 ID 当使用任何验证器时 RequiredFieldValida
  • Angular 2 - 在会话中存储的便捷方式

    有没有一种方便的方法可以保存在 sessionStorage 中 而不需要手动监视属性更改和更新 例如 我有一个带有属性 query 的 SearchComponent export class SearchComponent privat
  • 如何在 UISplitViewController 中命名后退按钮

    I have UITableViewController 其名称为新闻 和UIViewController 其名称为 DetailViewController 和UISplitViewController 我希望它在纵向使用 iPad 时显
  • 使用 File.Copy 移动文件或将流写入该位置有什么区别吗?

    我正在重构一些代码 并且有一个问题 我可以对其进行一些评论 原始代码将文件下载到流中 然后 它将流写入临时目录中的文件 然后使用 File Copy 覆盖生产目录中的现有文件 首先将其写入临时目录并使用 File Copy 与立即将流写入生
  • 如何更改 屏幕以使用

    我有这个代码 目前是 和 的组合 我想转向相对布局 但还没有看到这么多这样的例子 对于如何实现这一点的任何建议 我们将不胜感激 关于 XAML 的一些要点 屏幕上出现emptyGrid或phraseGrid 屏幕上出现buttonGrid或
  • Symfony 2.3 - 自定义致命错误

    我在 Symfony 2 3 上遇到了问题 我无法让它工作来获取处理致命错误的自定义函数 Symfony 异常工作正常 如 404 等 但致命错误则不然 这是我在互联网上搜索后得到的 我在 TestBundle 中创建了一个父控制器 另一个
  • 如何在Turbo c++ 4.0中读取文件中的数据?

    我是编程初学者 我正在尝试编写一个从文件中读取 2 个数字的代码 然后 将其显示在 Turbo C 的输出窗口中 我的代码仅读取第一个数字并产生错误的输出 对于第二个数字 include
  • 如何用纯 SQL 编写 LINQ 的 .Skip(1000).Take(100) ?

    SQL 的等价物是什么 Skip LINQ 中的方法 例如 我想从特定数据库表中选择第 1000 1100 行 只用 SQL 就可以做到这一点吗 或者我是否需要选择整个表 然后在内存中查找行 如果可能的话 我希望避免这种情况 因为桌子可能很
  • iPad 分屏视图更改主导航栏颜色

    奇怪的问题 将我的应用程序旋转到纵向 选择工具栏项目并公开 uipopovercontroller 后 如果我旋转回横向 右侧的 UINavigationController SplitView 的 objectAtIndex 0 会更改导
  • “简单表单”的 asp.net mvc 模型继承

    你将如何实施这个 我有以下模型 class Something public string Label get set public DateTime Date1 get set class SomethingStage2 Somethin
  • ASP.NET MVC 跟踪问题

    Question 如何使 ASP NET MVC 跟踪信息与作为 Trace axd 的页内跟踪输出保持一致 我可能遗漏了一些明显的东西 如果你看到它 请指出 传统 ASP NET 的背景信息 因此 回到常规的 ASP NET 时代 您只需