ModuleService.CreateChildService(Type) Method

Definition

Creates a child ModuleService object.

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

Parameters

serviceType
Type

The Type of the child service to create.

Returns

A ModuleService object that is based on the specified Type.

Examples

The following example uses the CreateChildService method to create a simple ModuleService derived class, and then it writes out tracing information.

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

Applies to