В Silverlight есть ли способ запустить сгенерированный файл во время работы в браузере? - PullRequest
1 голос
/ 24 января 2011

В обычном браузере HTML, если я нажимаю на ссылку на файл, я получаю возможность сохранить или запустить его.

В Silverlight я могу создать файл и сохранить его, используя следующий код:

    SaveFileDialog sfd = new SaveFileDialog { Filter = "MyFileExt files (*.myFileExt)|*.myFileExt" };
    Stream stream = sfd.OpenFile();
    StreamWriter writer = new StreamWriter(stream);
    writer.Write(myFileString);
    writer.Flush();
    writer.Close();
    sfd = null;

Можно ли предложить пользователю открыть этот файл, чтобы ему не приходилось открывать проводник Windows, искать файл и дважды щелкать по нему?

1 Ответ

3 голосов
/ 25 января 2011

Краткий ответ: нет, это невозможно.
Объяснение: Silverlight - это технология на стороне клиента, поэтому возможность доступа к локальному компьютеру может быть серьезным нарушением безопасности (просто помните ActiveX и все связанные с этим проблемы безопасности).Одним из способов запуска чего-либо с локального компьютера с помощью Silverlight является запуск приложения SL 4 (к сожалению, только SL 4 поддерживает все эти вещи) вне браузера с повышенным доверием.В этом случае можно использовать COM для доступа к файловой системе и запуска приложений.
Например:

 using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell"))
 {
  shell.Exec("calc");
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...