Как запустить EXE-файл через URL на общем хостинге .Net - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь запустить простой процесс ETL по расписанию, чтобы заполнить таблицу базы данных SQL Server на общем хостинге .Net.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>

1 Ответ

0 голосов
/ 12 апреля 2019

Я смог добиться этого, добавив новую страницу в мое приложение ASP.NET, перенес консольное приложение в код C-code и запустил код через метод Page_Load ().Это позволило мне предоставить хостинговой компании URL-адрес типа http://mydomain/ExePage.aspx, не влияя на мое исходное приложение, поскольку эта новая страница недоступна из меню приложения.это был удобный способ дать мне то, что мне было нужно.Я предполагаю, что это не типичное решение, поскольку у меня было преимущество иметь исходный код программы EXE, но, тем не менее, это очень эффективно, и это может кому-то помочь в будущем.

...