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.mzph.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…