我正在创建一个excel电子表格服务器端,并通过Silverlight前端下载到客户端。它由用户单击按钮并显示SaveFileDialog启动。一旦用户输入文件名,Silverlight就会启动对Web服务的异步调用,并在完成后返回一个字节数组,该数组被写入用户请求保存的位置。一切正常。
如何在客户端的PC上自动打开此文件?
答案 0 :(得分:2)
你没有或COM Interop
在C#中执行此操作的“标准”方法是“Process.Start(path)”。出于与您的方案无关的良好安全性原因,Silverlight中不允许这样做。
理论上,如果您的Silverlight 4应用程序正在运行“Out of Browser”或您的Silveright 5(Beta)应用程序具有新的高级权限,则可以使用COM Interop打开文档。这里的问题是你没有从SaveFileDialog返回文件路径,所以你不知道传递给COM Interop Open命令的路径。您可能会“熟悉它”(例如,根据文件名和创建时间戳进行搜索)......
参考的 http://www.itwriting.com/blog/2159-silverlight-4-with-com-can-do-anything-on-windows.html http://justinangel.net/CuttingEdgeSilverlight4ComFeatures