2013-11-28 5 views
0

У меня проблема с NServiceBusHost.exe.Настройка тайм-аута NServiceBus.Host.exe - Конфигурируется через NServiceBusHost.exe.config

В настоящее время я бегу NServiceBusHost.exe как окна служб, и я получать исключения тайм-аут, как показано здесь:

Microsoft Service Трассировка просмотра вывод:

<TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Error"> 
<TraceIdentifier>http://msdn.microsoft.com/en-AU/library/System.ServiceModel.Diagnostics.ThrowingException.aspx</TraceIdentifier> 
<Description>Throwing an exception.</Description> 
<AppDomain>NServiceBus.Hosting.Windows.WindowsHost, NServiceBus.Host, Version=4.0.0.0, Culture=neutral, PublicKeyToken=9fc386479f8a226c</AppDomain> 
<Exception> 
<ExceptionType>System.ServiceModel.CommunicationException, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> 
<Message>The specified network name is no longer available. This often indicates that the HTTP client has prematurely closed the underlying TCP connection.</Message> 
<StackTrace> 
at System.ServiceModel.Channels.HttpOutput.ListenerResponseHttpOutput.ListenerResponseOutputStream.Write(Byte[] buffer, Int32 offset, Int32 count) 
at System.ServiceModel.Channels.HttpOutput.Send(TimeSpan timeout) 
at System.ServiceModel.Channels.HttpPipeline.EmptyHttpPipeline.SendReplyCore(Message message, TimeSpan timeout) 
at System.ServiceModel.Channels.HttpRequestContext.OnReply(Message message, TimeSpan timeout) 
at System.ServiceModel.Channels.RequestContextBase.Reply(Message message, TimeSpan timeout) 
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.Reply(MessageRpc&amp; rpc) 
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage9(MessageRpc&amp; rpc) 
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage8(MessageRpc&amp; rpc) 
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc&amp; rpc) 
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc&amp; rpc) 
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) 
at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext) 
at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext) 
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result) 
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) 
at System.ServiceModel.Diagnostics.TraceUtility.&lt;&gt;c__DisplayClass4.&lt;CallbackGenerator&gt;b__2(AsyncCallback callback, IAsyncResult result) 
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously) 
at System.Runtime.InputQueue`1.AsyncQueueReader.Set(Item item) 
at System.Runtime.InputQueue`1.EnqueueAndDispatch(Item item, Boolean canDispatchOnThisThread) 
at System.Runtime.InputQueue`1.EnqueueAndDispatch(T item, Action dequeuedCallback, Boolean canDispatchOnThisThread) 
at System.ServiceModel.Channels.SingletonChannelAcceptor`3.Enqueue(QueueItemType item, Action dequeuedCallback, Boolean canDispatchOnThisThread) 
at System.ServiceModel.Channels.HttpPipeline.EnqueueMessageAsyncResult.CompleteParseAndEnqueue(IAsyncResult result) 
at System.ServiceModel.Channels.HttpPipeline.EnqueueMessageAsyncResult.HandleParseIncomingMessage(IAsyncResult result) 
at System.Runtime.AsyncResult.AsyncCompletionWrapperCallback(IAsyncResult result) 
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) 
at System.ServiceModel.Diagnostics.TraceAsyncResult.DoCallback(AsyncCallback callback, IAsyncResult result) 
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously) 
at System.ServiceModel.Channels.HttpInput.ParseMessageAsyncResult.OnRead(IAsyncResult result) 
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result) 
at System.Net.LazyAsyncResult.Complete(IntPtr userToken) 
at System.Net.HttpRequestStream.HttpRequestStreamAsyncResult.IOCompleted(HttpRequestStreamAsyncResult asyncResult, UInt32 errorCode, UInt32 numBytes) 
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) 
</StackTrace> 
<ExceptionString>System.ServiceModel.CommunicationException: The specified network name is no longer available. This often indicates that the HTTP client has prematurely closed the underlying TCP connection. ---&gt; System.Net.HttpListenerException: The specified network name is no longer available 
    at System.Net.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 size) 
    at System.ServiceModel.Channels.BytesReadPositionStream.Write(Byte[] buffer, Int32 offset, Int32 count) 
    at System.ServiceModel.Channels.HttpOutput.ListenerResponseHttpOutput.ListenerResponseOutputStream.Write(Byte[] buffer, Int32 offset, Int32 count) 
    --- End of inner exception stack trace ---</ExceptionString> 
<InnerException> 
<ExceptionType>System.Net.HttpListenerException, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType> 
<Message>The specified network name is no longer available</Message> 
<StackTrace> 
at System.Net.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 size) 
at System.ServiceModel.Channels.BytesReadPositionStream.Write(Byte[] buffer, Int32 offset, Int32 count) 
at System.ServiceModel.Channels.HttpOutput.ListenerResponseHttpOutput.ListenerResponseOutputStream.Write(Byte[] buffer, Int32 offset, Int32 count) 
</StackTrace> 
<ExceptionString>System.Net.HttpListenerException (0x80004005): The specified network name is no longer available 
    at System.Net.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 size) 
    at System.ServiceModel.Channels.BytesReadPositionStream.Write(Byte[] buffer, Int32 offset, Int32 count) 
    at System.ServiceModel.Channels.HttpOutput.ListenerResponseHttpOutput.ListenerResponseOutputStream.Write(Byte[] buffer, Int32 offset, Int32 count)</ExceptionString> 
<NativeErrorCode>40</NativeErrorCode> 
</InnerException> 
</Exception> 
</TraceRecord> 

Я имею в виду, чтобы избежать этого тайм-аут исключение из-за этого, тайм-аут должен быть расширен для среды выполнения HTTP.

Кто-нибудь знает, правильно ли я считаю, что время выполнения конфигурации HTTPRuntime в .NET (по умолчанию в .NET 4.0 составляет 1:10 минут) относится к NServiceBusHost.exe?

Кроме того, я считаю, что NServiceBusHost.exe построен на вершине шельфа. Правильно ли я полагаю, что конфигурация log4net может применяться для регистрации любых проблем с NServiceBusHost.exe?

Заранее благодарен.

ответ

0

Может кто-нибудь знать, правильно ли я считаю, что время выполнения конфигурации HTTPRuntime в .NET (по умолчанию в .NET 4.0 равно 1:10 минут) относится к NServiceBusHost.exe?

Да

Кроме того, я считаю, NServiceBusHost.exe построен на Topshelf. Правильно ли я полагаю, что конфигурация log4net может применяться для регистрации любых проблем с NServiceBusHost.exe?

Да, безусловно, см http://particular.net/articles/logging-in-nservicebus

+0

Спасибо Джона, высоко ценятся :) –

+0

С NServiceBusHost.exe какой конфигурации позволит мне увеличить время ожидания, чтобы избежать проблем, описанные –