public override object MatchFound(string host, string name, bool isPrivate) { string processedVirtualPath = CreateRelativeVirtualPath(host, name, isPrivate); string relativeServiceFile = ServiceHostingEnvironment.NormalizeVirtualPath(processedVirtualPath); // Compute the remainder path: if (isPrivate) { lock (this.thisLock) { string baseQueue = CreateBaseQueue(relativeServiceFile); this.privateMatches[baseQueue] = baseQueue; } } // Start the service on a different thread so we can complete // initialization if (CheckServiceExists(relativeServiceFile)) { MsmqDiagnostics.StartingService(host, name, isPrivate, processedVirtualPath); ActionItem.Schedule(StartService, processedVirtualPath); } // no callback state here... return(null); }
public override object MatchFound(string host, string name, bool isPrivate) { string virtualPath = this.CreateRelativeVirtualPath(host, name, isPrivate); string serviceFile = ServiceHostingEnvironment.NormalizeVirtualPath(virtualPath); lock (this) { if (isPrivate) { string str3 = this.CreateBaseQueue(serviceFile); this.privateMatches[str3] = str3; } } if (this.CheckServiceExists(serviceFile)) { MsmqDiagnostics.StartingService(host, name, isPrivate, virtualPath); ActionItem.Schedule(new Action <object>(this.StartService), virtualPath); } return(null); }