【问题标题】:Files referenced in ASPX-page don't cause invokation of Application_BeginRequestASPX 页面中引用的文件不会导致调用 Application_BeginRequest
【发布时间】:2016-04-19 14:39:15
【问题描述】:

当我重新加载一个名为 Donkey.aspx 的页面时,下面的方法会遇到一个断点。

protected void Application_BeginRequest(object sender, EventArgs e)
{
  if (application.Request.Url.AbsolutePath.EndsWith(".blopp")) { ... }
}

问题是,我看到的只是 Donkey.aspx 和它引用的另一个文件(id 为 __browserLink_initializationData 的文件)。但是,还有许多对文件的其他引用,这些引用并没有对方法造成影响。生成的页面的结尾是这样的。

<script type="text/javascript" src="/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="jquery.placeholder.js"></script>
<script src="beep.blopp" type="text/javascript"></script>
<script src="typeahead.bundle.min.js" type="text/javascript"></script>
<script type="text/javascript" src="utils.js"></script>
</div>

<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" 
       id="__VIEWSTATEGENERATOR" value="54ACFC5B" />
</div>
</form>

<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Chrome","requestId":"f51b45a6ac174b6e8880184492a80734"}
</script>
<script type="text/javascript" src="http://localhost:64593/9...7/browserLink" async="async">
</script>
<!-- End Browser Link -->
</body>

访问另一个页面给了我预期的行为,即上面的事件处理程序上的一堆命中,包括 CSS 文件等。值得注意的是文件确实被加载,正如脚本的功能,控制台状态代码(200 和 304 左右)。母版页实际上是空的。

我不知道出了什么问题,更不确定如何解决问题。

【问题讨论】:

    标签: javascript c# asp.net webforms


    【解决方案1】:

    静态文件通常由浏览器缓存。关闭浏览器缓存或从服务器重新加载所有 (Ctrl+F5)。

    【讨论】:

    • 是的,没错。但这并不能解释为什么没有为他们调用 Application_BeginRequest 方法,不是吗?另外,我无法让用户重新加载。有没有办法以编程方式强制重新加载它们?
    • 从脚本中添加你的 beep.blopp 在这种情况下,请求将始终是“新的”。
    • 正如您所料,文件的状态码现在是 200 - 全新资源即将交付。但是,仍然存在这种奇怪之处 - 获取文件似乎不会触发 Application_BeginRequest 。它在获取 ASPX 文件和 browserLink 时中断,不管是什么文件,但没有其他文件!检查其他应用程序似乎会在点击每个引用的文件时中断,但在 this specific 项目中,没有这样的反应。我对 WebForms 不是很熟练,我强烈怀疑它正在设置或缺少某些代码。虽然不知道那可能是什么......
    • 通常静态文件由 IIS(或您拥有的任何 Web 服务器)提供服务,无需 .NET 参与。如果可能,将您的 beep.blopp 重命名为 beep.aspx 以点击 Global.asax。
    猜你喜欢
    • 1970-01-01
    • 2014-11-29
    • 2013-08-26
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2010-11-06
    • 2014-09-04
    • 1970-01-01
    相关资源
    最近更新 更多