在我的应用程序 asp.net mvc 的后台运行此控制器和 javascript 代码

Posted

技术标签:

【中文标题】在我的应用程序 asp.net mvc 的后台运行此控制器和 javascript 代码【英文标题】:run this controller and javascript code in background of my application asp.net mvc 【发布时间】:2020-02-12 06:13:16 【问题描述】:

控制器

        [HttpGet]
        public async Task<ActionResult> getdeviceDATA()
        

            return View();
        

        [HttpGet]
        public JsonResult GetRandomValue()
        

            var model = new dummyData();
            var dataString = "";
            var eventData = TwinDeviceController.getdeviceData();
            if (eventData != null)
            
                dataString = Encoding.UTF8.GetString(eventData.GetBytes());
                var enqueuedTime = eventData.EnqueuedTimeUtc.ToLocalTime();
                Task.Delay(1000).Wait();
            
            //Task.Delay(2000).Wait();
            return Json(dataString,  JsonRequestBehavior.AllowGet);
        

JavaScript

<script type="text/javascript">
    var someRootPath = "@Url.Content("~")";
        (function randomGenerator() 


    $.ajax(
        url: someRootPath + 'TestBlob/GetRandomValue',
        success: function (data) 

           // $('#pValue').html(data.someValue);
               $('#alltext').append(data);
        ,
        complete: function () 
            setTimeout(randomGenerator, 1000);
        
    );
    )();
</script>

我在哪里可以使用这个脚本,以便它在后台轻松运行。当从设备获取新数据时,我想使用此代码自动将数据从设备发送到 azure hub。我将轻松地设法在 blob azure 中上传数据,但在这里我卡住了新数据如何自动发送到 blob 并在 5 秒的时间间隔后调用 API。

【问题讨论】:

使用 Azure 自动化或 Azure webjobs 运行计划任务怎么样? 【参考方案1】:

在我的应用程序布局中使用了这个 javascript 代码

  <script type="text/javascript">
    $(document).ready(function () 
        var someRootPath = "@Url.Content("~")";
        (function randomGenerator() 
            $.ajax(
                type: "GET",
                url: "/api/.....",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
        success: function (data) 
            // $('#pValue').html(data.someValue);
        ,
        complete: function () 
            setTimeout(randomGenerator, 1000);
        
    );
)();
    );
    </script>

【讨论】:

以上是关于在我的应用程序 asp.net mvc 的后台运行此控制器和 javascript 代码的主要内容,如果未能解决你的问题,请参考以下文章

在我的新 PC 中使用 Visual Studio 运行我的 ASP.NET MVC 时,我对其发出的每个请求都会自动将其重定向到 Microsoft 登录

如何在我的 ASP.NET MVC 应用程序中使用 ACE?

在 ASP.NET MVC3 中正确使用 TempData?

中信任的 ASP.NET MVC

[ASP.net]MVC 在我的控制器之前做啥?

如何在我的 ASP.NET MVC 应用程序中实现“全选”复选框?