透過 System.Web.ProcessModelInfo.GetHistory 可取得近期 ASP.NET 背景處理序的啟動時間、年齡、處理序 ID、請求數、狀態、關閉原因與峰值記憶體用量,協助監控伺服器健康狀態。
<%@ Import Namespace="System.Web.ProcessModel" %>
<script language="C#" runat="server">
void Page_Load(Object sender, EventArgs ev)
{
ProcessInfo[] history = ProcessModelInfo.GetHistory(100);
foreach (ProcessInfo pi in history)
{
Response.Write("StartTime: " + pi.StartTime + "<br>");
Response.Write("Age: " + pi.Age + "<br>");
Response.Write("ProcessID: " + pi.ProcessID + "<br>");
Response.Write("RequestCount: " + pi.RequestCount + "<br>");
Response.Write("Status: " + GetProcessStatus(pi.Status) + "<br>");
Response.Write("ShutdownReason: " + GetShutdownReason(pi.ShutdownReason) + "<br>");
Response.Write("PeakMemoryUsed: " + pi.PeakMemoryUsed + " bytes<br><br>");
}
}
string GetProcessStatus(ProcessStatus ps) { /* ... */ }
string GetShutdownReason(ProcessShutdownReason psr) { /* ... */ }
</script>
此功能僅在 IIS 5/6 的處理序模型下有效;IIS 7+ 應用程式集區架構請改用效能計數器或 Microsoft.Web.Administration API 監控。