다음을 통해 공유


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

적용 대상