ModuleService.CreateChildService(Type) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cria um objeto filho 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
Retornos
Um ModuleService objeto baseado no especificado Type.
Exemplos
O exemplo a seguir usa o CreateChildService método para criar uma classe derivada simples ModuleService e grava informações de rastreamento.
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;
}
}