2011-01-24 5 views
1

일반 HTML 브라우저에서 파일에 대한 링크를 클릭하면 저장하거나 실행하는 옵션이 나타납니다. 그들이 Windows를 열 필요가 없습니다 있도록이 파일을 열도록 사용자에게 메시지를 표시하는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; 

가 가능 : 나는 파일을 생성하고 다음 코드를 사용하여 저장할 수 있습니다 실버 라이트에서

탐색기, 파일을 찾아 두 번 클릭하십시오?

+2

당신이 할 수 있다면 나는 (나는 그렇게 생각하지 않습니다) 모르겠지만, 당신이 HyperlinkButton을 사용하고 NavigateUri을 설정하여 비슷한 경험을 얻을 수 있습니다. 필자의 경우 NavigateUri는 파일을 생성하고 컨텐츠 유형을 설정하는 내 (MVC) 웹 응용 프로그램의 메소드를 가리 킵니다. –

답변

3

짧은 대답 : 아니오, 불가능합니다.
설명 : Silverlight는 클라이언트 측 기술이므로 로컬 컴퓨터에 액세스 할 가능성은 심각한 보안 위반 일 수 있습니다. ActiveX 및 모든 보안 문제가 해당 컴퓨터에만 연결된 것을 기억하십시오.
Silverlight를 사용하여 로컬 컴퓨터에서 무언가를 시작하는 한 가지 방법은 승격 된 신뢰를 사용하여 SL 4 (불행히도 SL 4만이 모든 것을 지원함) 응용 프로그램을 브라우저에서 시작하는 것입니다. 이 경우 COM을 사용하여 파일 시스템에 액세스하고 응용 프로그램을 실행할 수 있습니다. 예를 들어
:

using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell")) 
{ 
    shell.Exec("calc"); 
} 
관련 문제