|
|
|
Supreme Being
      
участник
Last Login: 12.06.2007 20:05
Сообщ.: 279,
Visits: 3 001
|
|
| Столкнулся с проблемой, которую даже не имею понятия как решать. Моя программа запускается Веб аппликацией с помощью VB script. Программа получает в качестве параметра имя файла, который надо прочитать и обработать. Если файл находится на локальном диске ( C:\.... ) или сетевом диске ( P:\... где Р ассоциирован с \\srv\somepath\... ) , то нет никаких проблем. Но если путь прописан на прямую ( \\srv\somepath\somefile.txt ) , то программа вылетает с сообщением от IO.FileNotFoundException и говорит что Network file not found. При чем доступ к файлу я делаю внутри блока try ... catch, тем не менее програма не отлавливает этот ексепшион а останавливается с запросом Продолжить или Закрыть приложение. Если я выбираю Продолжить, то программа открывается но файл не читается. Я пробовал так же запустить мою программу через обычный скрипт встроенный в HTML. В этом случае браузер выдает сообщение о попытке ActiveX запустит выполняемую программу и спрашивает или разрешить выполнение. Если я разрешаю то программа открывает сетевой файл нормально, если нет то программа не запускается вообще. Я думаю, что этот запрос выбрасывается в момент использования CreateObject. Очевидно, что при запуске программы через Веб аппликацию, из соображений безопасности, доступ к сетевым дискам закрывается. Вопрос, как можно обойти эту защиту и все же получить доступ к файлу. Если кому-то это говорит, то моя програма запускается из TestDirector 8 от компании Mercury с помощью VB скрипта, встроенного в самом TestDirector.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
Прочитай вот эту статью http://www.aspfaq.com/show.asp?id=2168
Она относится к ASP, но суть верна и для ASP.MET c тем отличием что под IIS5.x ASP.NET работает от имени локальной учетной записи ASPNET, а в IIS6 обычно от имени учетной записи NT AUTHORITY\NETWORK SERVICE.
kpoxa (08.06.2006) При чем доступ к файлу я делаю внутри блока try ... catch, тем не менее програма не отлавливает этот ексепшион а останавливается с запросом Продолжить или Закрыть приложение.
Это навернка потому что ты запускаешь программу на машине где установлена Visual Studio и его отладчик перехватывает исключение до твоей программы. Это в настройках VS можно настроить.
|
|
|
|