Asp.net mvc 淘汰MVC-服务器操作调用未执行

Asp.net mvc 淘汰MVC-服务器操作调用未执行,asp.net-mvc,azure,knockout.js,Asp.net Mvc,Azure,Knockout.js,我正试图建立一个网站,是作为一个免费的网站托管在Azure上,它是使用MVC4,与淘汰MVC。网站正在从控制器每隔4秒更新一个表。代码在本地执行时没有问题,但是当我将其部署到Azure网站时,它不会处理更新 我现在已经开始了一个全新的MVC4项目,有一些简单的函数使用knockout,显示当前时间,并且每隔0.5秒从控制器更新一次,它使用的结构与我为适当的网站编写的javascript相同。它给出了相同的问题,并且看起来好像ko.ServerAction调用正在停止javascript函数 看法

我正试图建立一个网站,是作为一个免费的网站托管在Azure上,它是使用MVC4,与淘汰MVC。网站正在从控制器每隔4秒更新一个表。代码在本地执行时没有问题,但是当我将其部署到Azure网站时,它不会处理更新

我现在已经开始了一个全新的MVC4项目,有一些简单的函数使用knockout,显示当前时间,并且每隔0.5秒从控制器更新一次,它使用的结构与我为适当的网站编写的javascript相同。它给出了相同的问题,并且看起来好像ko.ServerAction调用正在停止javascript函数

看法

模型

namespace MVCHelloWorld.Models
{
public class HelloWorldModel
  {
     public string Time { get; set; }
  }
}

尝试将其添加到视图主体中:

<script type="text/javascript">
    @* Replace 4000 with the timeout, in milliseconds *@
    window.setInterval(startTime, 4000)
</script>

@*将4000替换为超时,以毫秒为单位*@
window.setInterval(开始时间,4000)
您的整个视图将如下所示:

@using PerpetuumSoft.Knockout
@model MvcApplication2.Models.HelloWorldModel
@{
    var ko = Html.CreateKnockoutContext();
 }
<script type="text/javascript">
    function startTime() {
        var today = new Date();
        var h = today.getHours();
        var m = today.getMinutes();
        var s = today.getSeconds();
        // add a zero in front of numbers<10
        m = checkTime(m);
        s = checkTime(s);
        document.getElementById('time').innerHTML = h + ":" + m + ":" + s;

        @ko.ServerAction("Index", "HelloWorld");

        t = setTimeout(function() { startTime(); }, 500);
    }

    function checkTime(i) {
        if (i < 10) {
            i = "0" + i;
        }
        return i;
    }  
</script>

<body onload="startTime()">
   <h2>Hello World - 2</h2>
   <div id="time">

       <script type="text/javascript">
           @* Replace 4000 with the timeout, in milliseconds *@
           window.setInterval(startTime, 4000)
       </script>

       <label>Knockout time</label>
   @ko.Html.Span(m => m.Time)

   </div>
</body>

@ko.Apply(Model)
@使用PerpetuumSoft.Knockout
@模型MVCAPApplication2.Models.HelloWorldModel
@{
var ko=Html.CreateKnockoutContext();
}
函数startTime(){
var today=新日期();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
//在数字前面加一个零(m.Time)
@ko.应用(模型)

您是否在javascript控制台中检查过该站点,以查看是否抛出了错误,并确保所有实体都按预期加载?是的,javascript应每0.5秒执行一次,加载的javascript时钟不会再次更新,但在发布到e Azure网站。
<script type="text/javascript">
    @* Replace 4000 with the timeout, in milliseconds *@
    window.setInterval(startTime, 4000)
</script>
@using PerpetuumSoft.Knockout
@model MvcApplication2.Models.HelloWorldModel
@{
    var ko = Html.CreateKnockoutContext();
 }
<script type="text/javascript">
    function startTime() {
        var today = new Date();
        var h = today.getHours();
        var m = today.getMinutes();
        var s = today.getSeconds();
        // add a zero in front of numbers<10
        m = checkTime(m);
        s = checkTime(s);
        document.getElementById('time').innerHTML = h + ":" + m + ":" + s;

        @ko.ServerAction("Index", "HelloWorld");

        t = setTimeout(function() { startTime(); }, 500);
    }

    function checkTime(i) {
        if (i < 10) {
            i = "0" + i;
        }
        return i;
    }  
</script>

<body onload="startTime()">
   <h2>Hello World - 2</h2>
   <div id="time">

       <script type="text/javascript">
           @* Replace 4000 with the timeout, in milliseconds *@
           window.setInterval(startTime, 4000)
       </script>

       <label>Knockout time</label>
   @ko.Html.Span(m => m.Time)

   </div>
</body>

@ko.Apply(Model)