나는 Silvleright Business Application (Silverlight_BussApp
)을 보유하고 있습니다. 이 프로젝트에는 Silverlight_BussApp
프로젝트와 Silverlight_BussApp.Web
프로젝트가 있습니다.Silverlight 4 비즈니스 응용 프로그램에서 메모장 열기
버튼 클릭 이벤트의 코드 뒤에 메모장을 채워야합니다. 브라우저 응용 프로그램에서이 기능을 사용할 수 없습니다.
Silverlight에서 허용하지 않기 때문에 프로젝트 에 WCF 서비스를 만들고 Silverlight 프로젝트의 프록시를 통해 호출했습니다. 잘 작동합니다. WCF 서비스에 코드는 다음과 같습니다
public void openFileWithNotepad(string filename)
{
try
{
if (File.Exists(filename))
{
Process.Start("notepad.exe", filename);
}
else
{
MessageBox.Show(
"I was unable to locate the following file: " + filename,
"File Not Found");
}
}
catch (Exception e)
{
throw e;
}
}
가 지금은 하나 이상의 실버 라이트 프로젝트에서이
openFile
기능을 사용해야합니다. 그래서 "WCF 서비스 프로젝트"를 만들고 WCF 서비스를 만들고 IIS에서 호스팅하며 Silverlight 프로젝트에서 프록시를 만들었습니다. 당황스럽게도 파일이 열리지 않고 "파일을 찾을 수 없습니다"오류가 계속 나타납니다. 누군가 내 모든 Silverlight 프로젝트에이 기능을 재사용 할 수있는 방법을 알 수있게 도와 줄 수 있습니까?
IIS에서 호스팅되는 WCF 서비스에서 동일한 코드를 사용할 때 Silverlight 프로젝트의 동일한 솔루션에서 호스팅 될 때 완벽하게 작동하는 이유는 무엇입니까?
당신 말이 맞습니다. 하지만 난 같은 IIS에서 내 Silverlight_BussApp.Web을 호스팅했는데 나는 여전히 "파일을 찾을 수 없습니다"오류가 발생합니다. 그러면이 문제에 대한 해결책은 무엇입니까? –
@New Developer 여러분이 취하는 접근 방식 (WCF 호출을 통해 서버에서'Process.Start' 호출)은 작동하지 않을 것입니다. 'SaveFileDialog'를 사용하여 파일 내용을 클라이언트 컴퓨터에 저장 한 다음이 파일을 엽니 다. '.txt' 파일 인 경우 기본적으로 메모장이 사용됩니다. – Donut
SaveFileDialog를 사용할 수 없으므로 메모장이 코드 숨김으로 채워져 있으므로 최종 사용자가 볼 수 있도록 열어야합니다. –