我有一個Silvleright業務應用程序,Silverlight_BussApp
。 它有Silverlight_BussApp
項目和Silverlight_BussApp.Web
項目。從Silverlight 4業務應用程序打開記事本
我需要在將代碼填充到代碼後面的按鈕單擊事件後打開記事本。 我不能讓這是一個瀏覽器應用程序。
因此,由於Silverlight不允許我這樣做,我在Silverlight_BussApp.Web
項目 中創建了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;
}
}
現在我需要使用一個以上的Silverlight項目這個openFile
功能。 因此,我創建了一個「WCF服務項目」,並創建了一個WCF服務,將其託管在IIS上,並在Silverlight項目中創建了一個代理。令我沮喪的是,該文件沒有打開,並一直給我「文件未找到」錯誤。 有人可以幫我弄清楚我如何才能使這是我的所有Silverlight項目的可重用功能?
爲什麼當我在IIS上託管的WCF服務中使用相同的代碼時,它無法正常工作,而在託管於Silverlight項目的相同解決方案時它工作正常?
你說得對。但我試圖在同一個IIS上託管我的Silverlight_BussApp.Web,並且仍然收到錯誤「未找到文件」。那麼這個問題的解決方案是什麼? –
@新開發人員您正在採用的方法(通過WCF調用在服務器上調用Process.Start)不起作用。使用'SaveFileDialog'將文件的內容保存到客戶端計算機上,然後打開這個文件。如果它是'.txt'文件,記事本可能默認使用 – Donut
我無法使用SaveFileDialog,因爲記事本被填充在代碼後面,需要打開以供最終用戶查看。 –