html5 輪詢自動刷新數據,后臺調用exe,前端定時輪詢調用結果

前提

使用asp.net core 2.1

前端使用vue

ui使用element-ui

前端發送請求用Axios

新建asp.net core程序

8ae503528b57

1.jpg

修改Index.html

@{

Layout = null;

}

test

{{ msg }}

發送請求打開記事本

// 創建 Vue 實例,得到 ViewModel

var vm = new Vue({

el: '#app',

data: {

msg: '準備發送請求打開exe'

},

methods: {

opennotepad() {

var _this = this;

axios.get('/Home/OpenNotepad') // 發送請求到后端控制器

.then(function (response) {

console.log(response);

})

.catch(function (error) {

console.log(error);

});

}

},

mounted() {

}

});

修改HomeController.cs

使用 System.Diagnostics 這個庫

詳細介紹:

.Net中Process類功能十分強大。它可以接受程序路徑啟動程序,接受文件路徑使用默認程序打開文件,接受超鏈接自動使用默認瀏覽器打開鏈接,或者打開指定文件夾等等功能

using Microsoft.AspNetCore.Mvc;

using System.Diagnostics;

namespace CalculationTest.Controllers

{

public class HomeController : Controller

{

public IActionResult Index()

{

return View();

}

public void OpenNotepad()

{

//打開外部程序

ProcessStartInfo state = new ProcessStartInfo(); //啟動信息

state.FileName = "notepad.exe"; ; //設置需要啟動的應用程序

Process.Start(state); //啟動應用程序

}

}

}

效果

8ae503528b57

2.jpg

打開外部程序并傳入參數

先創建一個.net core 2.1 控制臺應用程序

using System;

namespace CaculateConsole

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Hello World!");

if (args != null)

{

int argsLength = args.Length;

Console.WriteLine("Main函數參數args的長度:" + argsLength);

for (int i = 0; i < argsLength; i++)

{

Console.Write("第" + (i + 1) + "個參數是:");

Console.WriteLine(args[i]);

}

}

Console.WriteLine("Hello World!");

Console.ReadLine();

}

}

}

修改 Index

8ae503528b57

3.jpg

修改 HomeController.cs

8ae503528b57

4.jpg

效果

8ae503528b57

5.jpg

缺點

目前,asp.net core 調用外部程序無法打開程序窗口 , 只能以后臺進程的方式啟動。

原因 :可能與 .net core 的設計有關, .net core 程序以類似Windows 服務的方式運行(也可能就是服務),服務無法啟動程序窗體,只能以后臺方式啟動進程。

前端定時輪詢調用結果

后臺調用的exe 計算程序 可以往數據庫寫入一個 標記 ,表示已經 計算完成 ,前端設一個定時器 ,隔一定時間查詢數據庫是否有 計算完成的標記 , 如果有 就計算完畢 ,結束定時器。

定時器:

javascript中的循環定時器 : timename=setInterval(function(){},delaytime);

第一個參數“function()”是定時器觸發時要執行的動作 ,

而第二個參數“delaytime”則是間隔的時間,以毫秒為單位,填寫“5000”,就表示5秒鐘。

clearInterval() 清除已設置的setInterval定時器,如:clearInterval(timename);

如:

在data中初始化一個定時器對象

data: {

interval: {}

},

結合vue生命周期鉤子函數,在組件掛載到頁面的時候,開啟定時器。

mounted() {

this.interval = setInterval(function () {

//要執行的代碼

console.log("執行一次");

}, 3000);

}

執行邏輯后可以清除定時器。

清除定時器

在methods中清除定時器

clearInterval() {

clearInterval(this.interval);

}

效果:

8ae503528b57

1.jpg

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/282741.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/282741.shtml
英文地址,請注明出處:http://en.pswp.cn/news/282741.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

洛谷 P2951 [USACO09OPEN]捉迷藏Hide and Seek

題目描述 Bessie is playing hide and seek (a game in which a number of players hide and a single player (the seeker) attempts to find them after which various penalties and rewards are assessed; much fun usually ensues). She is trying to figure out in which…

使用ssh免密碼登錄Linux服務器

頻繁登錄Linux服務器時&#xff0c;使用ssh <username><host>的方式登錄&#xff0c;但是每次都需要輸入密碼是件很麻煩的事。我們還可以使用私鑰/公鑰對的方式在免密碼登錄服務器。首先需要在遠程服務器中安裝ssh-server服務&#xff0c;才可以使用ssh登錄。如果沒…

linux下tomcat開啟遠程調試

1.center下&#xff0c;在startup.sh文件首行中添加如下語句 declare -x CATALINA_OPTS"-server -Xdebug -Xnoagent -Djava.compilerNONE -Xrunjdwp:transportdt_socket,servery,suspendn,address8000"(不要換行&#xff0c;要在同一行)Ubuntu下&#xff0c;在catali…

.NET 7 RC1 發布

原文鏈接&#xff1a;https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-1/[1]原文作者&#xff1a;Jeremy Likness&#xff0c;Angelos Petropoulos&#xff0c;Jon Douglas翻譯&#xff1a;沙漠盡頭的狼(谷歌翻譯加持)今天我們宣布 .NET 7 候選版本 1。這是生產…

html 字符串最后加空格,html space空格符

htmlcss 代碼在網頁中如何插入打出空格字符實現方法**摘要瀏覽器總是會截短 HTML 頁面中的空格。HTML將所有空格字符&#xff0c;制表符&#xff0c;空格和回車符壓縮為一個字符。如果要縮進段落&#xff0c;則不能簡單地鍵入五個空格然后開始文本。 如果您在文本中寫 10 個空格…

.NET MAUI實戰 FilePicker

1.概要最近在遷移 GeneralUpdate.Tool的時候需要用到文件選擇&#xff0c;在MAUI中可以使用FilePicker進行選擇。ref1: https://gitee.com/Juster-zhu/GeneralUpdateref2:https://docs.microsoft.com/zh-cn/dotnet/maui/platform-integration/storage/file-picker?tabswindows…

SQL Server中,with as使用介紹

一&#xff0e;WITH AS的含義 WITH AS短語&#xff0c;也叫做子查詢部分&#xff08;subquery factoring&#xff09;&#xff0c;可以讓你做很多事情&#xff0c;定義一個SQL片斷&#xff0c;該SQL片斷會被整個SQL語句所用到。有的時候&#xff0c;是為了讓SQL語句的可讀…

從新手機到老股票 閑魚為何會淪為騙子與營銷的新平臺?

國內電商一直空缺一個有規模的綜合二手交易平臺。閑魚的出現&#xff0c;有一定程度上滿足了喜歡淘二手、喜歡“撿漏”的用戶需求。雖加入了擔保和第三方支付等環節&#xff0c;但這種隨機的二手交易行為不可避免地會出現上當、受騙的情況出現。本質上來說&#xff0c;閑魚仍然…

網上書店模板asp與html,一個簡單的網上書城的例子(三)_asp實例

buy.asp:顯示商品和用戶購物&#xff01;DbPath SERVER.MapPath("ShopBag.mdb")Set conn Server.CreateObject("ADODB.Connection")conn.open "driver{Microsoft Access Driver (*.mdb)};dbq" & DbPathCategoryIDRequest("CategoryID…

使用C#編寫一個.NET分析器(一)

譯者注這是在Datadog公司任職的Kevin Gosse大佬使用C#編寫.NET分析器的系列文章之一&#xff0c;在國內只有很少很少的人了解和研究.NET分析器&#xff0c;它常被用于APM&#xff08;應用性能診斷&#xff09;、IDE、診斷工具中&#xff0c;比如Datadog的APM&#xff0c;Visual…

內置數據類型

Java語言提供了八種基本類型。六種數字類型&#xff08;四個整數型&#xff0c;兩個浮點型&#xff09;&#xff0c;一種字符類型&#xff0c;還有一種布爾型。 byte&#xff1a; byte 數據類型是8位、有符號的&#xff0c;以二進制補碼表示的整數&#xff1b; 最小值是 -128&…

算法學習之循環結構程序設計

for循環 打印1,2,3&#xff0c;...&#xff0c;n每個占一行。 #include <conio.h> #include<stdio.h> int main(){int i,n;scanf("%d",&n);for(i1;i<n;i){printf("%d\n",i);}getch();return 0; } 分支結合循環&#xff0c;威力很強大 輸…

Linux常用命令 (分門別類)

一、系統安全: su: 用于切換當前用戶身份到其他用戶身份&#xff0c;變更時須輸入所要變更的用戶帳號與密碼 sudo: 用來以其他身份來執行命令&#xff0c;預設的身份為root lastlog: 用于顯示系統中所有用戶最近一次登錄信息 lastb: 用于顯示用戶錯誤的登錄列表&#x…

hibernate自定義校驗器使用(字段在in范圍之內)

2019獨角獸企業重金招聘Python工程師標準>>> 1.自定義注解類DigitsMustIn Constraint(validatedBy DigitsMustInValidator.class) //具體的實現 Target({java.lang.annotation.ElementType.METHOD,java.lang.annotation.ElementType.FIELD}) Retention(java.lang.a…

sql將html轉成excel,使用SQL*PLUS,構建完美excel或html輸出

通過SQL*PLUS我們可以構建友好的輸出&#xff0c;滿足多樣化用戶需求。本例通過簡單示例&#xff0c;介紹通過sql*plus輸出xls&#xff0c;html兩種格式文件.首先創建兩個腳本:1.main.sql用以設置環境&#xff0c;調用具體功能腳本2.功能腳本-get_tables.sql為實現具體功能之腳…

[cogs347]地震

COGS&#xff1a;地震&#xff08;平衡樹&#xff09; COGS上一道題。。。文件名是equake 還是又打了一遍板子。。。 加個lazy標記就行了。。。 注意查詢時先下傳標記&#xff08;lazy&#xff09; // It is made by XZZ #include<cstdio> #include<algorithm> #de…

第八課-第二講 08_02_bash腳本編程之七 case語句及腳本選項進階

第八課-第二講 08_02_bash腳本編程之七 case語句及腳本選項進階 一. 面向過程控制結構順序結構選擇結構循環結構選擇結構if語句 單分支&#xff0c;雙分支&#xff0c;多分支case 語句 case語句:選擇結構 case SWITCH invalue1)---此處的value是當做字符來比較的statement....…

html表單提交按鈕怎么居中,與表單框一致,居中提交按鈕_html_開發99編程知識庫...

我嘗試將提交按鈕與表單的一個條目對齊失敗。 我只是希望提交按鈕稍微定位到窗體框的右側和中心。 現在是右邊&#xff0c;但在盒子的底部。我試圖回答相似的查詢&#xff0c;對於提交按鈕( 浮點&#xff0c;margin 等等 )&#xff0c;但是我不能找到正確的選擇。我的HTML如下所…

一個簡單的WebService服務

現在&#xff0c;網上提供的免費的webservice服務的網站&#xff1a; http://www.webxml.com.cn/從擴展名上看&#xff0c;是 .net構建的網站。看看功能的實現效果&#xff1a;需求&#xff1a;我們要遠程調用手機號歸屬地的查詢&#xff1a;開發步驟&#xff1a; 1&#xff0e…

Linux中的vi和vim

一、vi與vim的概念和區別 概念: 它們都是多模式編輯器&#xff0c;不同的是vim 是vi的升級版本&#xff0c;它不僅兼容vi的所有指令&#xff0c;而且還有一些新的特性在里面。 vim優勢主要體現在一下幾方面: 1、多級撤消 我們知道在vi里&#xff0c;按 u只能撤消上次命令&a…