ModuleService.CreateChildService(Type) 方法

定义

创建子 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

参数

serviceType
Type

Type要创建的子服务的 。

返回

一个 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;
    }
} 

适用于