У меня есть служба wcf, которая использует обратные вызовы с DualHttpBindings. Служба возвращает клиенту список результатов поиска (для длительного поиска) по мере их поиска.
Это нормально работало в .Net 3.5. Поскольку я обновил до .Net 4.0, он взрывается с System.Runtime.FatalException, который фактически убивает рабочий процесс IIS. Я понятия не имею, как вообще начать исправлять это. Любые рекомендации приветствуются.
Произошло необработанное исключение и
процесс был прерван.
Идентификатор приложения: / LM / W3SVC / 2 / ROOT / CP
Идентификатор процесса: 5284
> Исключение:
System.Runtime.FatalException
> Сообщение: ссылка на объект не установлена на
экземпляр объекта.
StackTrace : в
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4 (MessageRpc &
rpc) в
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31 (MessageRpc &
rpc) в
System.ServiceModel.Dispatcher.MessageRpc.Process (Boolean
isOperationContextSet) в
System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump (RequestContext
запрос, логическое значение cleanThread,
OperationContext
currentOperationContext) в
System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest (RequestContext
запрос, OperationContext
currentOperationContext) в
System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump (IAsyncResult
результат) в
System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame (IAsyncResult
результат) в
System.Runtime.AsyncResult.Complete (Boolean
завершено синхронно) в
System.Runtime.InputQueue 1.AsyncQueueReader.Set(Item
item) at
System.Runtime.InputQueue
1.Dispatch ()
в
System.ServiceModel.Channels.ReliableDuplexSessionChannel.ProcessDuplexMessage (WsrmMessageInfo
информация) в
System.ServiceModel.Channels.ReliableDuplexSessionChannel.HandleReceiveComplete (IAsyncResult
результат) в
System.ServiceModel.Channels.ReliableDuplexSessionChannel.OnReceiveCompletedStatic (IAsyncResult
результат) в
System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame (IAsyncResult
результат) в
System.Runtime.AsyncResult.Complete (Boolean
завершено синхронно) в
System.ServiceModel.Channels.ReliableChannelBinder 1.InputAsyncResult
1.OnInputComplete (IAsyncResult
результат) в
System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame (IAsyncResult
результат) в
System.Runtime.AsyncResult.Complete (Boolean
завершено синхронно) в
System.Runtime.InputQueue 1.AsyncQueueReader.Set(Item
item) at
System.Runtime.InputQueue
1.Dispatch ()
в
System.Runtime.IOThreadScheduler.ScheduledOverlapped.IOCallback (UInt32
errorCode, UInt32 numBytes,
NativeOverlapped * nativeOverlapped)
в
System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame (UInt32
ошибка, UInt32 bytesRead,
NativeOverlapped * nativeOverlapped)
в
System.Threading._IOCompletionCallback.PerformIOCompletionCallback (UInt32
errorCode, UInt32 numBytes,
NativeOverlapped * POVERLAP)
> InnerException:
> System.NullReferenceException
Сообщение : ссылка на объект не установлена на
экземпляр объекта.
StackTrace : в
System.Web.HttpApplication.ThreadContext.Enter (Boolean
setImpersonationContext) в
System.Web.HttpApplication.OnThreadEnterPrivate (Boolean
setImpersonationContext) в
System.Web.AspNetSynchronizationContext.CallCallbackPossiblyUnderLock (SendOrPostCallback
обратный вызов, состояние объекта) в
System.Web.AspNetSynchronizationContext.CallCallback (SendOrPostCallback
обратный вызов, состояние объекта) в
System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4 (MessageRpc &
RPC)