Ошибка после перехода с ASP.Net 3.5 на 4.0 с использованием Nginx + FastCGI-Mono-Server4

Я использую Nginx + FastCGI-Mono-Server для размещения небольшого веб-сервиса asp.net. Он работает просто отлично, используя FastCGI-Mono-Server2 (версия.Net 2.0). Теперь мне нужно обновить приложение asp.net до.net 4.0. Это означает, что мне нужно перейти на FastCGI-Mono-Server4. Я положил все правильные файлы на место. Оно работает! Тем не менее, он постоянно падает с загадочной ошибкой.

Вот ошибка:

Исключение: System.Runtime.FatalException

Сообщение: ссылка на объект не установлена ​​на экземпляр объекта.

StackTrace: в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpisservice_Rec_Service.RuServer_Medic_Server_Mer_M_P_C_P_P_C_P_C_P_C_P_C_P_C_P_C_P_C_P_C_P_C_P_P_P_P_P_P_P_P_P_P_P_P_S_S_S2.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& RPC) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& RPC) в System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& RPC) в System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) в System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(запрос RequestContext, Boolean cleanThread, OperationContext currentOperationContext) в System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(запрос RequestContext.hange.Convice.PlaySigner.PlaySigner.PlaySigner.PlaySigner.PlaySigner.PlaySigner.PlaySigner.PlaySigner.PlaySigner.Port ump (результат IAsyncResult) в System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(результат IAsyncResult) в System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(результат IAsyncResult) в System.RunteynSync.Channels.FramingDuplexSessionChannel.TryReceiveAsyncResult. Состояние объекта) в System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(состояние объекта) в System.ServiceModel.Channels.SocketConnection.FinishRead() в System.ServiceModel.Channels.SocketConnection.AsyncReedanback System.ServiceModel.Channels.OverlappedContext.CompleteCallback(ошибка UInt32, UInt32 numBytes, NativeOverlapped* nativeOverlapped) в System.Runtime.Fx.IOCompletionThunk.UnhandledExceptionFrame(ошибка UInt32, UInt32 bytesRead, NativeOverlapped* nativeOverlapped) в System.Threading._IOCompletionCallback.

InnerException: System.NullReferenceException

Сообщение: ссылка на объект не установлена ​​на экземпляр объекта.

StackTrace: в System.Web.HttpApplication.ThreadContext.Enter(логическое значение setImpersonationContext) в System.Web.HttpApplication.OnThreadEnterPrivate(логическое значение setImpersonationContext) в System.Web.AspNetSynchronizationConteback.ebback.allBackableOUO CallCallback(обратный вызов SendOrPostCallback, состояние объекта) в System.Web.AspNetSynchronizationContext.Post (обратный вызов SendOrPostCallback, состояние объекта) в System.ServiceModel.Dispatcher.ThreadBehavior.BindCore(MessageRpc& rpc, risservice.RuService.RuService.RuService.TimeSecerPort.MasterSecer.Player_ServSerser_MileSystemRec.Pervice_MateSecerPerser_Mer_Service_Player_Service_Service_Service) (MessageRpc & rpc)

У меня есть IHttpAsyncHandler в проекте. Интересно, это как-то связано с этим? Когда я искал свою ошибку, я нашел людей (например, исключение обратного вызова wcf после обновления до.net 4.0), которые рекомендовали этот атрибут:

[CallbackBehavior (UseSynchronizationContext = ложь)]

Из того, что я могу сказать, это вещь WCF и не имеет отношения к моему веб-серверу asp.net. Любые идеи были бы хорошы!

Е.В.

1 ответ

Бежать

ln -s /opt/mono-3.2/lib/mono/4.0/fastcgi-mono-server4.exe /opt/mono-3.2/lib/mono/4.5/fastcgi-mono-server4.exe

а также

использовать fastcgi сервер из 4.5 каталога

/opt/mono-3.2/lib/mono/4.5/fastcgi-mono-server4.exe

Если Mono установлен в другом месте, замените /opt/mono-3.2 с вашим моно префиксом

Другие вопросы по тегам