WebService クラス
共通 ASP.NET オブジェクト (アプリケーションやセッション状態など) への直接アクセスを提供する、XML Web サービス用のオプションの基本クラスを定義します。
この型のすべてのメンバの一覧については、WebService メンバ を参照してください。
System.Object
System.ComponentModel.MarshalByValueComponent
System.Web.Services.WebService
Public Class WebService
Inherits MarshalByValueComponent
[C#]
public class WebService : MarshalByValueComponent
[C++]
public __gc class WebService : public MarshalByValueComponent
[JScript]
public class WebService extends MarshalByValueComponent
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
共通 ASP.NET オブジェクトにアクセスする必要がない場合は、 WebService から派生させずに XML Web サービスを作成できます。追加の ASP.NET オブジェクトには、 Context を使用してアクセスできます。
SoapRpcMethodAttribute または SoapDocumentMethodAttribute の OneWay プロパティが true に設定されている XML Web サービス メソッドは、その HttpContext へのアクセス権がありません。そのため、該当の XML Web サービス メソッド内から WebService クラスのどのプロパティにアクセスしても null 参照 (Visual Basic では Nothing) が返されます。
使用している .NET Framework Version 1.0 XML Web サービスのメソッドに SoapRpcMethodAttribute 属性または SoapDocumentMethodAttribute 属性が適用されており、 OneWay プロパティが true に設定されている場合は、静的な Current プロパティを使用して HttpContext にアクセスしないでください。 HttpContext にアクセスするには、XML Web サービスのメソッドを実装するクラスを WebService から派生し、 Context プロパティにアクセスします。
使用例
[Visual Basic, C#] Context プロパティを使用して、サーバーでの要求時刻を取得するために、 WebService から派生して XML Web サービスを作成する例を次に示します。
<%@ WebService Language="VB" Class="Util" %>
Imports System
Imports System.Web.Services
Public Class Util
Inherits WebService
<WebMethod(Description := "Returns the time as stored on the Server", _
EnableSession := False)> _
Public Function Time() As String
Return Context.Timestamp.TimeOfDay.ToString()
End Function
End Class
[C#]
<%@ WebService Language="C#" Class="Util" %>
using System;
using System.Web.Services;
public class Util: WebService {
[ WebMethod(Description="Returns the time as stored on the Server",
EnableSession=false)]
public string Time() {
return Context.Timestamp.TimeOfDay.ToString();
}
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Web.Services
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Web.Services (System.Web.Services.dll 内)