我試圖將失敗的請求跟蹤添加到我的IIS 7/ASP.NET服務器。失敗請求跟蹤的IIS/ASP.net錯誤:「此內容的失敗請求跟蹤已存在」
首先,我爲「all content, error codes 400-999
」創建失敗的請求跟蹤,因爲要保存所有錯誤。
然後,我嘗試爲「all content, time: 5 seconds
」創建跟蹤,因爲我想跟蹤所有「長」請求。但是,IIS 7給我一個錯誤:「此內容的失敗請求跟蹤已存在」。
如何爲所有耗時> 5秒的內容添加此第二個跟蹤?
我試圖將失敗的請求跟蹤添加到我的IIS 7/ASP.NET服務器。失敗請求跟蹤的IIS/ASP.net錯誤:「此內容的失敗請求跟蹤已存在」
首先,我爲「all content, error codes 400-999
」創建失敗的請求跟蹤,因爲要保存所有錯誤。
然後,我嘗試爲「all content, time: 5 seconds
」創建跟蹤,因爲我想跟蹤所有「長」請求。但是,IIS 7給我一個錯誤:「此內容的失敗請求跟蹤已存在」。
如何爲所有耗時> 5秒的內容添加此第二個跟蹤?
在你web.config
失敗請求跟蹤配置看起來類似:
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure, etc" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication, etc" verbosity="Verbose" />
</traceAreas>
<failureDefinitions statusCodes="400-999" />
</add>
</traceFailedRequests>
</tracing>
屬性path
定義的內容類型,即在添加FRT嚮導的第一個頁面的選項(* * .aspx,* .asp,Custom)。
如果您檢查在applicationHost.config
(在system.webServer/tracing/traceFailedRequests
部分位於%systemroot%\System32\inetsrv\ config\schema\IIS_schema.xml
你會發現下面的約束模式:
失敗請求路徑必須是唯一的:
<attribute name="path" type="string" isUniqueKey ="true" />
在每一個路徑提供者(ASP,ASPNET,ISAPI擴展等)必須是唯一的:
<attribute name="provider" type="string" required="true" isUniqueKey="true" />
如果您添加了其他[R跟蹤規則跟蹤相同的內容(*),但指定timeTaken
那麼你可以嘗試添加:
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure, etc" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication, etc" verbosity="Verbose" />
</traceAreas>
<failureDefinitions statusCodes="400-999" />
</add>
這與衝突模式中的其中說,該路徑必須是唯一的規則。
但是,您可以執行的操作是指定timeTaken
大於等於5秒時要跟蹤的特定內容。
例如:
<add path="*.aspx">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure, etc" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication, etc" verbosity="Verbose" />
</traceAreas>
<failureDefinitions timeTaken="00:00:05" statusCodes="400-999" />
</add>
<add path="*.asp">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure, etc" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication, etc" verbosity="Verbose" />
</traceAreas>
<failureDefinitions timeTaken="00:00:05" statusCodes="400-999" />
</add>
<add path="*.asmx">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure, etc" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication, etc" verbosity="Verbose" />
</traceAreas>
<failureDefinitions timeTaken="00:00:05" statusCodes="400-999" />
</add>
不是很方便的只能夠做一個通配符,但它是一種解決方法。