Являются ли виртуальные серверы причудливыми с Windows Server 2003, IIS 6, ASP.NET MVC? - PullRequest
0 голосов
/ 24 января 2010

В течение нескольких месяцев я работал над созданием сайта для клиентов, используя ASP.NET MVC с C #, SQL Server 2005, ADO.NET Entity Framework, JQuery и некоторые веб-API ESRI и базы геоданных. Тестовый сервер работает под управлением IIS6 на Windows Server 2003. За это время я видел некоторые странные вещи, которые вызвали много переделок:

  1. Файлы JavaScript на серверах клиента не распознают нормальный относительный путь к сценариям или URL-адресам: вместо настройки jqGrid с URL-адресом «/Reports.mvc/GridData» я должен инициализировать его как <% = ResolveUrl ( "~ / Reports.mvc / GridData")%> в представлении или запишите путь приложения в теге главной страницы:
    // Declare a variable to pass to jQuery functions that don't seem to 
    // handle URLs below the top-level pages on MVC in IIS6.
    var _applicationPath = new String('');
    // Reset the variable after jQuery document loaded event to make sure
    // every jQuery library and plugin sees the value.
    jQuery(document).ready(function() {
        _applicationPath = new String('');
    });
  1. Я проверил формы и функции, которые публикуют новые данные в базу данных и те, которые редактируют данные. На двух машинах разработки и на сервере я могу показать, что все работает. Тем не менее, каждый раз, когда они тестируют, клиент возвращается и говорит, что это поле или это поле не сохранено, или «показывает смешно».

На данный момент учетная запись пользователя используется только для входа в Интернет. Мой код структуры сущностей находится в DLL-библиотеке данных и работает с базой данных посредством единого входа пользователя в приложение. Так что не должно быть никаких проблем с разрешениями или безопасностью.

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

Вчера заказчик сказал мне, что сервер, который я использовал в своей сети, является виртуальным сервером. Это в академической среде, а сервер находится в другом здании, где-то под контролем другого отдела.

Когда я впервые работал на этом тестовом сервере, мне удалось создать сайт ASP.NET, но большинство элементов управления данными не позволяли загружать страницы, а другие компоненты в ASP.NET не работали в системе разработки. Вот почему я перешел на ASP.NET MVC.

Мы перешли на физический тестовый сервер, с которым я раньше не работал. У кого-нибудь были какие-то изворотливые впечатления при работе с виртуальными серверами с ASP.NET или другими вещами?

1 Ответ

1 голос
/ 24 января 2010

Я не доверяю виртуальным серверам многим из доступных виртуальных серверов, доступных на рынке хостинга (особенно недорогих со слишком ограниченными ресурсами и обещанием "гибких" дополнительных ресурсов) для размещения публичных веб-сайтов, потому что гибкое распределение ресурсов часто не работает для пикового трафика, иногда вызывая сбои и нестабильности. То, что вы описываете, может быть получено из-за того, что виртуальный сервер оснащен слишком ограниченными ресурсами или работает в нестабильной или перегруженной среде. Однако это может быть связано с тем, как настроен компьютер и как настроен веб-сервер. (Эта проблема пути в 1. определенно является проблемой конфигурации, я бы сказал.)

Вы можете попробовать попросить людей, которые управляют этим устройством, на некоторое время увеличить ресурсы (процессорное время, ОЗУ, сетевой трафик) и посмотреть, улучшится ли это. Если это произойдет, вам придется посмотреть, можно ли сделать увеличение постоянным или использовать вместо него выделенный сервер.

...