我正在研究一种在本地工作的kludge,但在我将其部署到我们的服务器后却没有。
我有一个打开的网页,运行
actual.ShouldBeEquivalentTo(expected, config=> config.Excluding(s => s.TimeStamp), "because they should be similar");
然后关闭网页。本地可行,但在发布到服务器后,EXE
无法运行。我已确认文件路径可以从服务器运行。
我的网页代码:
EXE
C#代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="EmailSignature_EXEC.aspx.cs" Inherits="_Default" %>
<html>
<head>
<title></title>
<script>
function loaded()
{
window.setTimeout(CloseMe, 500);
}
function CloseMe()
{
window.open('', '_self').close();
}
</script>
<script type="text/javascript">
</script>
</head>
<body onLoad="loaded()">
Hello!
\\\\cmbfs02\\Software\\web\\EmailSignature_WPF\\EmailSignature_WPF.exe
</body>
</html>
当我在using System.Diagnostics;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load()
{
var applicationPath = "\\\\cmbfs02\\Software\\web\\EmailSignature_WPF\\EmailSignature_WPF.exe";
Process.Start(applicationPath);
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Close", "window.close()", true);
}
}
上浏览我的页面时,我看到该页面出现并在IIS
之后关闭,但应用程序没有运行。如果我将Timeout
路径复制到Windows资源管理器中,则应用程序会运行,但它不会从该方法运行。任何帮助表示赞赏
答案 0 :(得分:1)
听起来您正试图在客户端上启动UI exe ,但您实际所做的是在Web服务器上执行 >。如果那是正确的,那么从根本上说,你想要做的只是......不会起作用。忽略实现必须完全不同的事实,浏览器明确地设计为不来从Web服务器运行任意可执行文件 - 当然它只适用于某些操作系统 - 在这种情况下可能是Windows。
几年前,我可能已经说过&#34;了解ClickOnce这个&#34; - 但我不知道是否仍然支持或推荐该选项。