从Sharepoint Web部件运行exe

Cal*_*nus 1 sharepoint exe web-parts

我在sharepoint Web部件中有一个按钮,当点击它时应该启动计算器:

protected void Button1_Click(object sender, EventArgs e)
{
        Process process = new Process();
        process.StartInfo = new ProcessStartInfo("Calc.exe");

        process.Start();
}
Run Code Online (Sandbox Code Playgroud)

但是,单击该按钮时,没有任何反应.有人能告诉我如何从sharepoint Web部件启动应用程序吗?

spa*_*spa 5

坦率地说,这是不可能的.您编写的代码在Web应用程序用户的安全上下文中的SharePoint服务器上执行.因此,如果发生任何事情,将为Web应用程序用户打开计算器,当然不会为您的用户打开.

如果你想做这样的事情,你必须恢复到客户端脚本技术,例如SilverlightJavaScript.但是,您必须处理权限问题,因为脚本通常无法访问本地硬盘以提高安全性.

  • @Calanus:JavaScript也不会.当你说普通的ASP.net网页会这样做时,你确定你没有在Localhost上运行它吗?因为Process.Start将在Web服务器上启动Process,而不是Client.您无法从网站上启动客户端上的EXE(这是一件好事) (3认同)
  • 不会.SharePoint在标准ASP.NET Web应用程序上有许多安全限制.如果您在尝试此类请求后检查ULS日志,则会看到错误.如果你想在客户端打开应用程序,你唯一的选择是使用JavaScript或Silverlight,正如@spa所说. (2认同)