如何通过.Net共享主机上的URL运行EXE文件

问题描述 投票:0回答:1

我尝试按计划运行一个简单的ETL过程,以在.Net共享主机上填充SQL Server数据库表。 EXE文件将与网站一起托管,当它运行时,它将进行一些API调用并获取数据以更新网站的SQL表。我的托管公司允许这样的事情(按计划调用exe文件)需要额外费用,但是他们要求我将它包装起来并使用URL调用。只要我提供URL,他们就不介意使用任何技术。我很少尝试让这个设置工作没有运气。例如,我尝试了以下两种方式:注意,我刚刚开始学习JavaScript,我使用C#,但这是我第一次尝试做类似的事情,我可能完全没有。任何帮助将不胜感激。

<html>
    <head>
        <title>Open PMETL</title>
        <script type="text/javascript">
        function runProgram()
        {
            try {           
                var shell = new ActiveXObject("WScript.Shell");                 
                var myPMETL="http://trudat.live/RefreshData.exe";
                shell.Run(myPMETL);
                }
            catch (e) {
                alert(e.message);
            }

        }        

        function runProgram02() {           
            if (window.ActiveXObject) {
                try {
                    var excelApp = new ActiveXObject ("Excel.Application");
                    excelApp.Visible = true;
                    }
                catch (e) {
                alert (e.message);
                }       
            }
                else {
                alert ("Your browser does not support this example.");
                }
        }
        </script>
    </head>
    <body>
       <a href="javascript:runProgram()">Run program</a>    
       <a href="javascript:runProgram02()">Run program02</a>
    </body>
</html>
javascript c# php .net shared-hosting
1个回答
1
投票

通过向ASP.NET应用程序添加新页面并将控制台应用程序移植到代码隐藏C#中并通过Page_Load()方法调用代码,我能够实现这一目标。这允许我给托管公司一个像http://mydomain/ExePage.aspx这样的URL而不影响我的原始应用程序,因为这个新页面无法从应用程序的菜单访问。这是一种方便的方式来给我我需要的东西。我认为这不是一个典型的解决方案,因为我有获得EXE程序源代码的优势,但它是非常有效的,这可能会对将来有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.