2010-10-20 2 views
0

У нас есть сервер производства интрасети, работающий в виртуальной среде, которую мы клонировали для создания сервера разработки. Имя компьютера и IP-адрес изменены, и все работает нормально. В экземпляре производства имеется общая папка, которую мы ссылаемся на сервер разработки, потому что все доступно только для чтения. Я могу посетить эту часть с моей локальной машины, с машины разработки и практически с любой машины в нашей сети. Когда я отлаживаю локальную версию интрасети, она прекрасно соединяется с производственной папкой. Когда я пытаюсь получить доступ к папке из своего приложения ASP.NET на сервере разработки, он дает мне UnathorizedAccessException. Я предоставил всем доступ к чтению как на вкладках совместного доступа, так и на вкладках безопасности, и все же я не могу получить доступ к папке.ASP.NET UnauthorizedAccessException

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

+0

Можете ли вы показать код, который бросает исключение? – CodingGorilla

+0

'Directory.GetFiles (путь, селектор);' Я не могу вырезать и вставлять фактический код, но это вызов функции, возвращающийся с ошибкой. –

ответ

0

Работает ли ваш рабочий процесс ASP.NET как учетная запись с низким уровнем привилегий? Если это так, вам необходимо убедиться, что учетная запись имеет доступ к папке и что для доступа не требуется повышение привилегий, если машина является Win 2K8/Win 7.

Вы используете IIS7? Если это так, вы попытались включить диагностическую трассировку, неудачную трассировку запроса и проверили, что «расширенные настройки> Тест» имеют доступ к указанной папке?

+0

Мы используем Windows Server 2003, который, я думаю, является IIS7. Я не знаю точно, как делать то, что вы предлагаете. Можете ли вы объяснить это немного больше или связать меня со статьей о том, как это сделать? –

+0

Он работает как «NetworkService». Я дважды проверил, что папка разделяет права на чтение для «Все». –

+0

@ Ник не уверен, что если Win 2K3 является IIS7, я думаю, что это может быть либо на самом деле. Если это IIS7 при открытии диспетчера IIS, вы должны увидеть панель значков справа, разбитую на три группы. Средняя группа будет иметь значок «Ошибка регистрации журнала», а также если в модуле установлен «диагностический» журнал. Также в средстве просмотра событий вы должны иметь события для ASP.NET, которые помогут вам лучше отслеживать информацию. Чтобы перейти к «тесту», щелкните правой кнопкой мыши по виртуальной папке и выберите «расширенные настройки» и нажмите «Тест». Возможно, в «базовой» настройке нет консоли. Сожалею. – GrayWizardx

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