C# 如何从Azure web应用程序启动Office产品

C# 如何从Azure web应用程序启动Office产品,c#,azure,ms-office,C#,Azure,Ms Office,我已经在Azure中构建了一个web应用程序,我需要它在运行流程的特定部分时在最终用户桌面上启动Office应用程序。我需要启动的应用程序是MS Project Professional,如果我在本地运行该站点,我可以毫无问题地启动该应用程序,但我确实需要在应用程序发布并在云中运行时实现这一点。如果需要,我可以发布一个代码示例,但我相信我需要添加一些内容来请求最终用户允许访问(只是一个猜测)。请注意,最终用户将始终是他们正在处理的框上的管理员。如果任何人有任何建议的方法,我将感谢您的洞察力。同样

我已经在Azure中构建了一个web应用程序,我需要它在运行流程的特定部分时在最终用户桌面上启动Office应用程序。我需要启动的应用程序是MS Project Professional,如果我在本地运行该站点,我可以毫无问题地启动该应用程序,但我确实需要在应用程序发布并在云中运行时实现这一点。如果需要,我可以发布一个代码示例,但我相信我需要添加一些内容来请求最终用户允许访问(只是一个猜测)。请注意,最终用户将始终是他们正在处理的框上的管理员。如果任何人有任何建议的方法,我将感谢您的洞察力。同样,如果我在本地运行我的应用程序,但我不想将其安装在客户端系统上,我想从云端运行它,那么我的应用程序完全可以工作


谢谢

您会发现Office URL架构已被记录在案

要启动Microsoft Project,请将href/link设置为
ms Project:ofv|u|https://path-to-resource
用于只读 或
ms项目:ofe | u|https://path-to-resource
用于写访问


我没有Project,所以无法测试这些,但它们确实可以加载Word和Excel

非常感谢!!如果你碰巧有一个Word或Excel的C#示例,那就太好了。目前我正在使用一个Process.Start(@“winproj.exe”,“s/”+))。我将转换为Process.Start(ms project:ofv|u|+URL),我将给它一个快照并用结果进行响应。我还将把其他的代码作为一个示例发布…@Don,因为它是一个URL,将它放在
Process.Start(“ms project:ofv|u”)中|https://path-to-file")
应该可以工作。如果您将其作为web应用程序运行,您可能希望通过链接启动它,或者让web应用程序以重定向方式返回url。不幸的是,MS Project Professional似乎不是office产品,而是一个独立的应用程序,尽管它位于office 16目录中。我尝试了一些变体,但没有成功如果我使用以下变量objProcess=Process.Start(@“C:\Program Files\Microsoft Office\root\Office16\winproj.exe”,“/s”+OnlinePWA”)得到的结果是502错误。当我在本地运行时,此代码运行正常。除非MS Project Professional的引用方式与MS Project不同。@如果您运行的是
Process.Start()
在web服务器上,它将尝试从服务器而不是客户端启动内容。如果您尝试在客户端启动内容,您应该使用一个链接供用户单击其中的架构,或者如果可能,返回302重定向以提示浏览器打开用户的应用副本。非常感谢您的帮助,但幸运的是microsoft更新了ProjectOnline的csom对象模型,允许设置滞后任务持续时间,因此我不再需要使用最终客户端应用程序。