Мод моно обслуживает другой экземпляр веб-приложения через SSH
У меня есть одно приложение asp.net, работающее на последних мод моно, когда я получаю к нему доступ через URL
1. http://myServer.com/App
или же
2. http://localhost:81/App
Я получаю разные экземпляры для каждого адреса. Откуда я знаю, что есть разные? Посредством изучения Application_Start, который фактически запускается дважды, и переменных приложения asp.net, которые имеют разные значения.
Я использую второй адрес только тогда, когда я хочу подключиться к своему серверу через SSH, и я использую переадресацию локального порта, так что каждый запрос, отправляемый с моего компьютера через порт 81, фактически перенаправляется на порт 80 на моем сервере.
Оба адреса указывают на одно и то же физическое местоположение, и я не понимаю, почему на самом деле за каждым стоит два разных экземпляра?
Спасибо
РЕДАКТИРОВАТЬ
Конкретный пример:
таким образом я сохраняю время запуска приложения в Global.asax.cs
public static string AppStartTime;
protected void Application_Start(object sender, EventArgs e)
{
AppStartTime = DateTime.Now.ToString();
}
Вот параметры для plink.exe, используемого для перенаправления удаленных портов на удаленный сервер Apache:
-L :7787:localhost:80
Если я использую plink 3 раза с 3 разными портами, при посещении одного и того же веб-приложения через разные URL отображаются 3 разных значения времени.
http://localhost:7787/ => value of AppStartTime = time1
http://localhost:7788/ => value of AppStartTime = time2
http://localhost:7789/ => value of AppStartTime = time3
1 ответ
Этот вопрос касается проблемы конфигурации веб-сервера и не связан с Mono. Кажется, что у вас есть два виртуальных сервера / веб-сайта, настроенные в Apache, а не один виртуальный сервер с двумя разными привязками.
Измените свою конфигурацию, чтобы у вас был один виртуальный сервер с настроенными обоими привязками, и у вас будет один экземпляр в памяти.