Где войти в веб-приложение .net? - Не могу использовать% APPDATA% из-за привилегий - PullRequest
2 голосов
/ 21 марта 2009

Мне нужен путь, который я мог бы указать в app4 файла log4net, чтобы файлы журнала были там. Однако aspnet или любая другая учетная запись не имеет прав записи в папку% APPDATA%. Есть ли место, куда я могу написать, не прося администраторов клиентов предоставить дополнительные привилегии доступа? Path.GetTempFile (), вероятно, не очень хорошая идея. Мне нужно определенное место, куда я мог бы попросить пользователей посмотреть, и откуда веб-приложение также может читать. Любые другие мысли о том, как добиться того, что мне нужно?

Я хотел бы подчеркнуть: весь смысл не в том, чтобы спрашивать клиентов!

Ответы [ 4 ]

1 голос
/ 21 марта 2009

А как насчет журнала системных событий с помощью EventLogAppender? Это вариант для вас?

1 голос
/ 21 марта 2009

Эй, я кое о чем подумал. Да ... Я чувствую себя глупо, что не упомянул об этом раньше. Если ваше приложение обращается к базе данных, вы можете создать в ней таблицу или таблицы для журналов. Есть дополнения log4net, которые пишут в базы данных. Я уверен, что если вы используете БД, то проблемы с разрешениями уже решены. И записи журнала в базе данных имеют некоторые преимущества (также некоторые недостатки).

1 голос
/ 21 марта 2009

В моем текущем приложении установщик (MSI, созданный с помощью установщика Windows XML) создает доступную для записи папку для вывода журнала (вместе с инструментом для архивирования всех файлов журнала и отправки их мне в случае возникновения проблемы).

0 голосов
/ 21 марта 2009

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

...