0

.aspx ページに次のコードを追加しました。

<%@ Page Language="C#" AutoEventWireup="true" Inherits="CarWale.CarDataIO.MasterDataEntry" Trace="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ OutputCache Duration="10" VaryByParam="none" %>

<head runat="server">
<title>Master Data Entry</title>
<link href="/css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<div> <%= DateTime.Now.ToString() %></div>
</form>
</body>
</html>

上記のページを Trace="false" でレンダリングすると、コードは期待どおりに完全に実行されました。ページがキャッシュされ、DateTime が予想どおり 10 秒ごとに変更されました。

ただし、Trace="true" が適用されると、すべてのページ キャッシュが失われ、10 秒の期間が完了する前であっても、ページが更新されるたびに DateTime が変更されました。これは ASP.NET フレームワークの深刻なバグだと思います。

誰かが私が間違っている場所を案内してくれますか?

4

1 に答える 1

1

バグではないと思いますが、トレースしてページに出力できるようにした結果です。

これらの設定をトレースに使用すると、機能web.configするはずです。

<trace enabled="true" requestLimit="1000" localOnly="false" pageOutput="false"/>

ここでは、トレースがページに直接表示されないようにし、 TraceViewerpageOutput="false"でのみアクセスできるようになりました。トレースを表示するには、asp.netページのURLに追加するだけです(以前と同じ結果ページを取得するには、を選択します)。\Trace.axddefault.aspx

無効にするとpageOutput、トレースによって出力キャッシュが妨げられなくなります。

于 2012-08-17T11:11:06.997 に答える