WebThreadInformation クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ASP.NET プロセスのスレッドの状態に関する情報を提供します。
public ref class WebThreadInformation sealed
public sealed class WebThreadInformation
type WebThreadInformation = class
Public NotInheritable Class WebThreadInformation
- 継承
-
WebThreadInformation
例
次のコード例には、2 つの部分があります。 1 つ目は、ASP.NET が 型を使用するカスタム イベントを使用できるようにする構成ファイルの WebThreadInformation 抜粋です。 2 つ目は、 型を使用するカスタム イベントを実装する方法を WebThreadInformation 示しています。
カスタム イベントが適切なタイミングで発生していることを確認します。つまり、置き換える同等のシステム正常性イベントが発生する場合です。
<healthMonitoring
heartBeatInterval="0" enabled="true">
<profiles>
<add name="Custom"
minInstances="1"
maxLimit="Infinite"
minInterval="00:00:00" />
</profiles>
<eventMappings>
<add
name="SampleWebThreadInformation"
type="SamplesAspNet.SampleWebThreadInformation,webthreadinformation, Version=1.0.1782.29648, Culture=neutral, PublicKeyToken=b3283a2de7dd3f27, processorArchitecture=MSIL" />
</eventMappings>
<rules>
<add name="Custom Web Thread Info Event"
eventName="SampleWebThreadInformation"
provider="EventLogProvider"
profile="Custom" />
</rules>
</healthMonitoring>
using System;
using System.Text;
using System.Web;
using System.Web.Management;
namespace SamplesAspNet
{
// Implements a custom WebErrorstEvent that uses the
// WebThreadInformation.
public class SampleWebThreadInformation :
WebErrorEvent
{
private StringBuilder eventInfo;
// Instantiate events identified
// only by their event code.
public SampleWebThreadInformation(
string msg, object eventSource,
int eventCode, Exception e)
:
base(msg, eventSource, eventCode, e)
{
// Perform custom initialization.
eventInfo = new StringBuilder();
eventInfo.Append(string.Format(
"Event created at: {0}",
EventTime.ToString()));
}
// Raises the event.
public override void Raise()
{
// Perform custom processing.
eventInfo.Append(string.Format(
"Event raised at: {0}",
EventTime.ToString()));
// Raise the event.
base.Raise();
}
// Get the impersonation mode.
public string GetThreadImpersonation()
{
return (string.Format(
"Is impersonating: {0}",
ThreadInformation.IsImpersonating.ToString()));
}
// Get the stack trace.
public string GetThreadStackTrace()
{
return (string.Format(
"Stack trace: {0}",
ThreadInformation.StackTrace));
}
// Get the account name.
public string GetThreadAccountName()
{
return (string.Format(
"Request user host address: {0}",
ThreadInformation.ThreadAccountName));
}
// Get the task Id.
public string GetThreadId()
{
// Get the request principal.
return (string.Format(
"Thread Id: {0}",
ThreadInformation.ThreadID.ToString()));
}
// Formats Web request event information.
public override void FormatCustomEventDetails(
WebEventFormatter formatter)
{
// Add custom data.
formatter.AppendLine("");
formatter.AppendLine(
"Custom Thread Information:");
formatter.IndentationLevel += 1;
// Display the thread information obtained
formatter.AppendLine(GetThreadImpersonation());
formatter.AppendLine(GetThreadStackTrace());
formatter.AppendLine(GetThreadAccountName());
formatter.AppendLine(GetThreadId());
formatter.IndentationLevel -= 1;
formatter.AppendLine(eventInfo.ToString());
}
}
}
Imports System.Text
Imports System.Web
Imports System.Web.Management
' Implements a custom WebErrorstEvent that uses the
' WebThreadInformation.
Public Class SampleWebThreadInformation
Inherits WebErrorEvent
Private eventInfo As StringBuilder
' Instantiate events identified
' only by their event code.
Public Sub New(ByVal msg As String, _
ByVal eventSource As Object, _
ByVal eventCode As Integer, ByVal e As Exception)
MyBase.New(msg, eventSource, eventCode, e)
' Perform custom initialization.
eventInfo = New StringBuilder()
eventInfo.Append(String.Format("Event created at: {0}", EventTime.ToString()))
End Sub
' Raises the event.
Public Overrides Sub Raise()
' Perform custom processing.
eventInfo.Append(String.Format( _
"Event raised at: {0}", EventTime.ToString()))
' Raise the event.
MyBase.Raise()
End Sub
' Get the impersonation mode.
Public Function GetThreadImpersonation() As String
Return String.Format( _
"Is impersonating: {0}", _
ThreadInformation.IsImpersonating.ToString())
End Function 'GetThreadImpersonation
' Get the stack trace.
Public Function GetThreadStackTrace() As String
Return String.Format( _
"Stack trace: {0}", _
ThreadInformation.StackTrace)
End Function 'GetThreadStackTrace
' Get the account name.
Public Function GetThreadAccountName() As String
Return String.Format( _
"Request user host address: {0}", _
ThreadInformation.ThreadAccountName)
End Function 'GetThreadAccountName
' Get the task Id.
Public Function GetThreadId() As String
' Get the request principal.
Return String.Format( _
"Thread Id: {0}", _
ThreadInformation.ThreadID.ToString())
End Function 'GetThreadId
' Formats Web request event information.
Public Overrides Sub FormatCustomEventDetails( _
ByVal formatter As WebEventFormatter)
' Add custom data.
formatter.AppendLine("")
formatter.AppendLine( _
"Custom Thread Information:")
formatter.IndentationLevel += 1
' Display the thread information obtained
formatter.AppendLine(GetThreadImpersonation())
formatter.AppendLine(GetThreadStackTrace())
formatter.AppendLine(GetThreadAccountName())
formatter.AppendLine(GetThreadId())
formatter.IndentationLevel -= 1
formatter.AppendLine(eventInfo.ToString())
End Sub
End Class
注釈
ASP.NET 正常性の監視により、運用スタッフと運用スタッフはデプロイされた Web アプリケーションを管理できます。 System.Web.Management名前空間には、アプリケーションの正常性状態データをパッケージ化する正常性イベントの種類と、このデータの処理を担当するプロバイダーの種類が含まれています。 また、正常性イベントの管理中に役立つサポート型も含まれています。
クラスのインスタンスには、 WebThreadInformation 型または 型を WebErrorEvent 使用して取得される情報が WebRequestErrorEvent 含まれています。
アプリケーションには、この種類によって提供される保護された情報にアクセスするための適切なアクセス許可が必要です。
注意
ほとんどの場合、実装されている ASP.NET の正常性監視の種類を使用でき、構成セクションで値を指定して正常性監視システムを healthMonitoring
制御します。 正常性監視の種類から派生して、独自のカスタム イベントとプロバイダーを作成することもできます。 カスタム イベント クラスを作成する例については、このトピックで提供されている例を参照してください。
プロパティ
IsImpersonating |
現在のスレッド偽装モードを取得します。 |
StackTrace |
現在のスレッド管理スタック トレースを取得します。 |
ThreadAccountName |
スレッド アカウント名を取得します。 |
ThreadID |
現在のスレッドの識別子を取得します。 |
メソッド
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
FormatToString(WebEventFormatter) |
スレッド関連情報を書式設定します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
こちらもご覧ください
.NET