private void StartInternal() { _hostStub = new HostStub2(); if (LogicalCallContextTraceListener.IsInitialized) { throw new InvalidOperationException("There is already a trace listener configured on this logical call context"); } _traceListener = LogicalCallContextTraceListener.Current; Action <string> twh = m => _role.TraceWrite(Identifier, m); Action <string> twlh = m => _role.TraceWriteLine(Identifier, m); _traceListener.TraceWrite += twh; _traceListener.TraceWriteLine += twlh; Trace.Listeners.Add(_traceListener); try { _started.SetResult(new object()); _role.TraceWriteLine(Identifier, "Role started in thread: " + Thread.CurrentThread.ManagedThreadId + " : " + Thread.CurrentThread.Name); _hostStub.Run(_assemblyFilePath, _configurationFilePath, _roleName, false); } catch (Exception ex) { _role.TraceWriteLine(Identifier, ex.ToString()); } finally { _traceListener.TraceWrite -= twh; _traceListener.TraceWriteLine -= twlh; _completed.SetResult(new object()); } }
private void StartInternal() { ConfigurationManipulation.RemoveAzureTraceListenerFromConfiguration(_configurationFilePath); //CopyStubAssemblyToRoleDirectory(_appDomainSetup.ApplicationBase, _role); _hostStub = new HostStub2(); if (LogicalCallContextTraceListener.IsInitialized) throw new InvalidOperationException("There is already a trace listener configured on this logical call context"); _traceListener = LogicalCallContextTraceListener.Current; Action<string> twh = m => _role.TraceWrite(Identifier, m); Action<string> twlh = m => _role.TraceWriteLine(Identifier, m); _traceListener.TraceWrite += twh; _traceListener.TraceWriteLine += twlh; Trace.Listeners.Add(_traceListener); //AppDomain.CurrentDomain.AssemblyResolve += (sender, args) => TryResolveAssembly(_assemblyFilePath, args); try { _started.SetResult(new object()); _role.TraceWriteLine(Identifier, "Role started in thread: " + Thread.CurrentThread.ManagedThreadId + " : " + Thread.CurrentThread.Name); _hostStub.Run(_assemblyFilePath, _configurationFilePath, _serviceDefinitionFilePath, _roleName, false); } catch (Exception ex) { _role.TraceWriteLine(Identifier, ex.ToString()); } finally { _traceListener.TraceWrite -= twh; _traceListener.TraceWriteLine -= twlh; _completed.SetResult(new object()); } }