ASP .NET On_Load方法未执行

时间:2017-11-20 16:46:33

标签: javascript c# asp.net pageload

我正在研究一种在本地工作的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资源管理器中,则应用程序会运行,但它不会从该方法运行。任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

听起来您正试图在客户端上启动UI exe ,但您实际所做的是在Web服务器上执行 >。如果那是正确的,那么从根本上说,你想要做的只是......不会起作用。忽略实现必须完全不同的事实,浏览器明确地设计为来从Web服务器运行任意可执行文件 - 当然它只适用于某些操作系统 - 在这种情况下可能是Windows。

几年前,我可能已经说过&#34;了解ClickOnce这个&#34; - 但我不知道是否仍然支持或推荐该选项。