更新 : 2007 年 11 月
共通 ASP.NET オブジェクト (アプリケーションやセッション状態など) への直接アクセスを提供する、XML Web サービス用のオプションの基本クラスを定義します。
名前空間 :
System.Web.Services アセンブリ :
System.Web.Services (System.Web.Services.dll 内)
Public Class WebService _
Inherits MarshalByValueComponent
Dim instance As WebService
public class WebService : MarshalByValueComponent
public ref class WebService : public MarshalByValueComponent
public class WebService extends MarshalByValueComponent
public class WebService extends MarshalByValueComponent
共通 ASP.NET オブジェクトにアクセスする必要がない場合は、WebService から派生させずに XML Web サービスを作成できます。追加の ASP.NET オブジェクトには、Context を使用してアクセスできます。
SoapRpcMethodAttribute または SoapDocumentMethodAttribute の OneWay プロパティが true に設定されている XML Web サービス メソッドは、その HttpContext へのアクセス権がありません。そのため、該当の XML Web サービス メソッド内から WebService クラスのどのプロパティにアクセスしても nullNothingnullptrnull 参照 (Visual Basic では Nothing) が返されます。
使用している .NET Framework Version 1.0 XML Web サービスのメソッドに SoapRpcMethodAttribute 属性または SoapDocumentMethodAttribute 属性が適用されており、OneWay プロパティが true に設定されている場合は、静的な Current プロパティを使用して HttpContext にアクセスしないでください。HttpContext にアクセスするには、XML Web サービスのメソッドを実装するクラスを WebService から派生し、Context プロパティにアクセスします。
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
<%@ 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();
}
}
System..::.Object
System.ComponentModel..::.MarshalByValueComponent
System.Web.Services..::.WebService
System.Workflow.Activities..::.WorkflowWebService
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。
.NET Framework
サポート対象 : 3.5、3.0、2.0、1.1、1.0
参照