2010-01-28 1 views
0

Мы разработали приложение ASP.NET, которое отлично работает на нашем сервере разработки и на наших сетевых компьютерах. Но при производстве приложение работает при обращении к нему непосредственно с веб-сервера, но не на клиентах (код позади не выполняется).Страница приложения ASP.NET, не работающая на компьютерах клиентов

Любые подсказки?

TY

Framework 3.5

+10

Сообщите об ошибке, всегда! –

+0

Что значит «код сзади не выполняется»? Веб-сервер обслуживает файлы .aspx? –

+0

Загрузка страницы (HTML), но любая кнопка, которую вы нажимаете, ничего не выполняет, ее в основном «статический веб-сайт», но при выполнении с сервера все работает –

ответ

1

Приложение работает при доступе к нему непосредственно с веб-сервера, но не на клиентах (код позади не выполняется).

Это звучит как проблема с разрешениями безопасности.

Проверьте, где установлен сайт. C: \ inetpub \ wwwroot имеет правильные разрешения выполнения по умолчанию. По соображениям безопасности многие корпорации предпочитают устанавливать политику, согласно которой веб-сайты должны быть установлены в другом месте [1]. При настройке веб-сайтов за пределами папки по умолчанию добавьте «читать & выполнить», «прочитать» и «содержимое папки списка» для имен IIS_WPG, IWAM_server_name, IUSR_server_name и ASPNET. Когда-нибудь NETWORK SERVICE нужно добавить в коллекцию.

При локальном входе в систему приложение запускается с учетными данными пользователя. При удалении сайта удаленно приложение запускается с учетной записью, показанной в диалоговом окне «Аутентификация» (в диспетчере IIS щелкните правой кнопкой мыши веб-сайт/приложение, затем свойства, затем вкладку защиты каталога, затем нажмите «изменить» на «аутентификации» и контроль доступа "бит.Обычно нажимается «включить анонимный доступ», а «имя пользователя» - имя IUSR_server_name.

Примечания:
1 - Так что, когда какой-либо хакер загружает зловещий код на C: \ inetpub \ wwwroot, код ничего не делает, потому что сайтов там нет.

1

Это не имеет никакого смысла. Пожалуйста, не говорите мне, что ваши клиенты просматривают ваш веб-сайт по сетевому пути/share UNC, а не по HTTP ...

Еще одна причина может заключаться в том, что клиенты (при условии, что они находятся в другой подсети, чем рабочая) заканчиваются на другой коробке из-за некоторых проблем с DNS или NAT, в то время как вы предположите, что они попадают на правильный сервер. Попробуйте подключиться к IP-адресу вместо имени хоста DNS.

+0

Проблемы с DNS или NAT ? как это могло произойти, если HTML уже получен на клиентской машине! –

+0

* Если *, они попадают в другую коробку! Не знаю, почему я опубликовал это здесь снова, так как это ясно в моем ответе. –

1

гм, "статический веб-сайт" + щелчок кнопки = нет коды позади + гиперссылка

проверки путь гиперссылки [Wim Hollebrandse] не упоминается UNC !!

1

Приложение правильно настроено в менеджере iis? приложение должно быть создано, а инфраструктура .net должна быть включена и установлена ​​в правильную версию.

+0

Это явно не проблема, так как сайт отлично работает при просмотре его из локальной коробки. –

+0

У нас был разработчик, которому нравилось использовать VS непосредственно на сервере (подчеркивание «имело»). VS использует собственный виртуальный веб-сервер; если он использует это, и IIS не настроен на обслуживание .aspx, это может произойти. –

+0

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

1

Вот список вопросов, которые могут помочь сузить, где проблема:

Вы проверяли с помощью Fiddler или других сетевых инструментов, чтобы убедиться, что запрос будет на сервер при нажатии кнопки на клиент машина?

Уверены, что здесь нет брандмауэра или JavaScript-проблемы? Если клиент использует NoScript, это может вызвать проблему, я думаю.

Используется ли тот же браузер на сервере и на клиентских компьютерах?

Есть ли какие-нибудь идеи о кнопке на странице, например. это обратный вызов AJAX?

Смежные вопросы