мод моно сервер 4 постоянно вылетает с запросами на мыло

У меня есть служба C# Soap, которую я запускаю на своем VPS-сервере Linux Suse 12.1. Это работало без проблем, пока я не внес небольшое изменение в службу мыла и не скопировал его на свой VPS. Я подумал, что это, должно быть, проблема с моим изменением, поэтому я откатил свои изменения и все еще не работал. Даже некоторые методы, которые не были затронуты, терпят неудачу.

Тем не менее, я протестировал свою машину Dev, которая работает под Windows и работает нормально, а также скопировал интерфейс мыла на машину Linux Dev, которая настроена точно так же, как мой VPS, т.е. OpenSuse 12.1 и имеет все то же самое, что и мой веб-сервер VPS. Оба работают абсолютно нормально, никаких проблем не возникало.

Однако на хосте VPS mod-mono-server постоянно падает, и хотя он запускается, файл asmx не может быть прочитан, просто отображает ошибку сервера, и мне нужно запустить rcapache2 restart, чтобы тестовая страница загрузилась.

В файле журнала ошибок apache у меня есть следующее:

[Четверг, 30 августа 20:10:19 2012] [ошибка] (70014) Найден конец файла: ошибка чтения_данных [Чт, 30 августа, 20:10:19 2012] [ошибка] Поток команд поврежден, последняя команда была 1 [Четверг, 30 августа 20:08:47 2012] [ошибка] Командный поток поврежден, последняя команда была 7

Я понятия не имею, в чем может быть проблема, я пытался перезагрузить VPS, но безрезультатно.

Я использую версию mod-mono-server для ASP.net 4.

Спасибо за любую помощь, которую вы можете предоставить.

ОБНОВЛЕНИЕ 1 Я только что заметил кое-что еще в ошибке apache. Файл журнала содержит следующее

[Thu Aug 30 20:46:31 2012] [notice] caught SIGTERM, shutting down
[Thu Aug 30 20:46:32 2012] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Aug 30 20:46:32 2012] [error] Not running mod-mono-server.exe because no MonoApplications, MonoApplicationsConfigFile or MonoApplicationConfigDir specified.

ОБНОВЛЕНИЕ 2 Только что сделал открытие, не совсем уверен, поможет ли оно. Служба мыла отлично работает на сервере, пока не требует доступа к базе данных mysql. Если он выполняет запрос, он отображает an internal server error 500 на тестовой странице. но если он вызывается из PHP, это приводит к сбою моно. База данных представляет собой базу данных mysql и является локальной базой данных. Оперативной памяти свободно 34%, поэтому я не думаю, что это проблема с памятью. Я также очистил таблицу базы данных, чтобы определить, исправляет ли это ее, если это как-то связано с объемом данных, но это тоже не исправило.


person Boardy    schedule 30.08.2012    source источник
comment
Его версия компилятора Mono JIT версии 2.10.6.   -  person Boardy    schedule 30.08.2012
comment
Я не уверен, он установлен, версия 2.10.2, но я не уверен, что я его использую, есть ли способ узнать   -  person Boardy    schedule 30.08.2012
comment
Похоже, вы не понимаете, что такое xsp (конечно, вы его не используете, но хорошо бы проверить, работает ли ваше программное обеспечение с ним, прежде чем тестировать с mod-mono). Пожалуйста, прочитайте ответ в stackoverflow.com/questions/12188356/   -  person knocte    schedule 31.08.2012
comment
Из того, что я читал о xsp, это модуль для работы с mod-mono-server, описанный в gonzalo. .name/blog/files/mod_mono.html   -  person Boardy    schedule 31.08.2012
comment
У них общий код, да, но они все же разные. И проверка не помешает. Если выяснится, что он работает с XSP, а не с Apache, значит, вы сильно сузили круг ошибок.   -  person knocte    schedule 01.09.2012
comment
Я пытался это сделать, но похоже, что он поддерживает только .net 1 или 2, мой проект мыла использует .net 4.   -  person Boardy    schedule 01.09.2012
comment
Вам нужно установить пакет xsp4 и использовать этот скрипт.   -  person knocte    schedule 01.09.2012


Ответы (1)


Благодаря предложению @knocte мне удалось выяснить проблему.

Когда служба Soap обращается к базе данных, она считывает файл config.xml, чтобы определить, какое имя пользователя и пароль использовать для доступа к базе данных. Я предполагаю, что этот файл конфигурации был поврежден во время передачи. Хотя и в ви смог прочитать, но может что-то не так было с файлом, из-за которого мыльный сервис перестал читать конфиг.

Все, что я сделал, это удалил файл, скопировал и вставил содержимое в файл вручную.

По какой-то причине mod-mono, когда он не может получить доступ к базе данных, вылетает из моно, хотя все материалы MySQL в службе мыла имеют обработку исключений MySQL. Предложение @knocte протестировать службу мыла оказалось полезным, поскольку, когда оно использовалось для доступа к базе данных из службы мыла, xsp4 останавливался, но отображал ошибку, говорящую о том, что у него нет разрешения на доступ к базе данных, даже если у него было правильное имя пользователя и пароль в файле конфигурации.

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

Спасибо за вашу помощь.

person Boardy    schedule 01.09.2012