Compartir a través de


ModuleService.CreateChildService(Type) Método

Definición

Crea un objeto secundario 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

Parámetros

serviceType
Type

del Type servicio secundario que se va a crear.

Devoluciones

Objeto ModuleService que se basa en el especificado Type.

Ejemplos

En el ejemplo siguiente se usa el CreateChildService método para crear una clase derivada simple ModuleService y, a continuación, se escribe información de seguimiento.

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

Se aplica a