ProcessModelInfo.GetCurrentProcessInfo 方法

定義

回傳執行當前請求的工作程序資訊。

public:
 static System::Web::ProcessInfo ^ GetCurrentProcessInfo();
public static System.Web.ProcessInfo GetCurrentProcessInfo();
static member GetCurrentProcessInfo : unit -> System.Web.ProcessInfo
Public Shared Function GetCurrentProcessInfo () As ProcessInfo

傳回

包含當前流程資訊的 A ProcessInfo

例外狀況

目前申請無法取得流程資訊。

範例

以下程式碼範例示範如何呼叫 GetCurrentProcessInfo 方法,在網頁上顯示目前執行中的 ASP.NET 程序的統計資料。

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private void Page_Load(object sender, EventArgs e)
{
    DataGrid1.DataSource = GetProcessInfoAsDataSet();
    DataGrid1.DataBind();
}

private DataSet GetProcessInfoAsDataSet()
{
    DataSet ds = new DataSet();
    ds.Tables.Add(new DataTable());
    ds.Tables[0].Columns.Add("ID",         typeof(string));
    ds.Tables[0].Columns.Add("Start Time", typeof(string));
    ds.Tables[0].Columns.Add("Age",        typeof (string));
    ds.Tables[0].Columns.Add("Request Count", typeof(string));
    ds.Tables[0].Columns.Add("Peak Memory",typeof(string));

    ProcessInfo info = ProcessModelInfo.GetCurrentProcessInfo();

    DataRow row = ds.Tables[0].NewRow();
    row["ID"]         = info.ProcessID;
    row["Start Time"] = info.StartTime;
    row["Age"]        = info.Age;
    row["Request Count"] = info.RequestCount;
    row["Peak Memory"]= info.PeakMemoryUsed;

    ds.Tables[0].Rows.Add(row);

    return ds;
}     
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DataGrid 
            ID="DataGrid1" 
            runat="server" />    
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
    DataGrid1.DataSource = GetProcessInfoAsDataSet()
    DataGrid1.DataBind()
End Sub

Function GetProcessInfoAsDataSet() As DataSet
    Dim ds As New DataSet
    Dim dt As New DataTable
    ds.Tables.Add(dt)
    ds.Tables(0).Columns.Add("ID", GetType(String))
    ds.Tables(0).Columns.Add("Start Time", GetType(String))
    ds.Tables(0).Columns.Add("Age", GetType(String))
    ds.Tables(0).Columns.Add("Request Count", GetType(String))
    ds.Tables(0).Columns.Add("Peak Memory", GetType(String))

    Dim info As ProcessInfo 
    info = ProcessModelInfo.GetCurrentProcessInfo()

    Dim row As DataRow 
    row = ds.Tables(0).NewRow()
    
    row("ID")         = info.ProcessID
    row("Start Time") = info.StartTime
    row("Age")        = info.Age
    row("Request Count") = info.RequestCount
    row("Peak Memory")= info.PeakMemoryUsed

    ds.Tables(0).Rows.Add(row)
    Return ds
End Function
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DataGrid 
            ID="DataGrid1" 
            runat="server" />    
    </div>
    </form>
</body>
</html>

備註

GetCurrentProcessInfo 方法僅適用於在 ASP.NET 流程模型下運行的應用程式。

適用於