ModuleService.CreateChildService(Type) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
子 ModuleService オブジェクトを作成します。
protected:
Microsoft::Web::Management::Server::ModuleService ^ CreateChildService(Type ^ serviceType);
protected Microsoft.Web.Management.Server.ModuleService CreateChildService (Type serviceType);
member this.CreateChildService : Type -> Microsoft.Web.Management.Server.ModuleService
Protected Function CreateChildService (serviceType As Type) As ModuleService
パラメーター
戻り値
ModuleService指定した Typeに基づく オブジェクト。
例
次の例では、 メソッドを CreateChildService 使用して単純な ModuleService 派生クラスを作成し、トレース情報を書き込みます。
void TraceCreation() {
MyWebObjectsModuleService myWebObjMS = new MyWebObjectsModuleService();
WebObjAppHlpr myWebObjHelper = myWebObjMS.WebObjAppHlpr;
bool b = myWebObjHelper.DeleteV_Dir("MySite", SH2.appPath, SH2.vDir);
}
internal sealed class MyWebObjectsModuleService : ModuleService {
private WebObjAppHlpr _webObjAppHlpr;
public MyWebObjectsModuleService() {
}
internal WebObjAppHlpr WebObjAppHlpr {
get {
if (_webObjAppHlpr == null) {
_webObjAppHlpr = (WebObjAppHlpr)this.CreateChildService(typeof(WebObjAppHlpr));
Debug.Assert(_webObjAppHlpr != null, "Unable to create WebObjAppHlpr");
}
return _webObjAppHlpr;
}
}
[ModuleServiceMethod(PassThrough = true)]
public bool DeleteV_Dir(string siteName, string applicationPath, string virtualDirectoryPath) {
Trace.WriteLine(" MyWebObjectsModuleService::DeleteV_Dir site = " + siteName);
return _webObjAppHlpr.DeleteV_Dir(siteName, applicationPath, virtualDirectoryPath);
}
} // end of MyWebObjectsModuleService class
internal sealed class WebObjAppHlpr : ModuleService {
public WebObjAppHlpr() {
}
public bool DeleteV_Dir(string siteName, string applicationPath, string vdir) {
Trace.WriteLine(" WebObjAppHlpr::DeleteV_Dir v-dir = " + vdir);
// Debug.Assert(ManagementUnit.Scope == ManagementScope.Server);
///
// Do work here
//
return true;
}
}