2014-10-20 8 views
-7

У меня есть требование открыть проводник Windows Explorer, как этот «C: \ New Folder \» или «http: \ gmail.com», используя код C#. На самом деле, как только пользователь набирает ссылку \ путь в текстовом поле и сохраняет его, должна появиться ссылка и при нажатии ссылки необходимо открыть путь к папке или ссылку. Мое требование удовлетворяет Process.Start(). Но Process.Start не работает в IIS. Может ли кто-нибудь предложить какие-либо другие варианты. Пожалуйста.Process.Start не работает в IIS. Любые опции для открытия папки Windows path.eg: C: Newfolder

Код, используемый ниже.

string myPath = @"c:\backoffice"; 
System.Diagnostics.Process prc = new System.Diagnostics.Process(); 
prc.StartInfo.FileName = myPath; 
prc.Start(); 
+2

Что вы ожидаете, произойдет, когда вы откроете окно Explorer из IIS? Другими словами: что вы хотите сделать? Чтобы открыть окно проводника удаленно (и пользователи на сервере увидят его)? Чтобы увидеть файловую систему сервера с удаленного компьютера? Что-то другое? –

ответ

1

Вы неправильно понимаете, как работает сеть. Если вы вызываете Process.Start на веб-сервере, он запускает эту команду на веб-сервере. Нет никакого способа, чтобы Process.Start был магически отображен на какое-то действие на клиенте.

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

+0

Привет, Спасибо, что ответили на мой вопрос. Я действительно хочу открыть папку на сервере, где сайт развернут с клиентской машины. Есть ли другая работа, кроме Process.Start? С уважением, Veera –

+0

Вы не можете, так как IIS является фоновым сервисом. Он не может взаимодействовать с рабочим столом. –

+0

'Я действительно хочу открыть папку на сервере, где сайт развернут с клиентской машины.' <- ins't, который считается высоким уровнем безопасности? И я не могу думать о какой-либо ситуации, это может быть полезно, кроме как сбой сервера. – bansi