ModuleService.CreateChildService(Type) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
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;
}
}