Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在GoDaddy服务器上发出请求之前,API将停止工作_C#_Asp.net_Api_Iis - Fatal编程技术网

C# 在GoDaddy服务器上发出请求之前,API将停止工作

C# 在GoDaddy服务器上发出请求之前,API将停止工作,c#,asp.net,api,iis,C#,Asp.net,Api,Iis,我在Godaddy服务器上运行API时遇到问题。API基本上是在网站开始运行后的一段时间内不断向网站发送请求。因此,它具有在应用程序启动中创建的计时器,用于控制此操作。出于某种原因,如果没有人提出请求,我的API在一段时间后就会停止工作。然而,我需要我的API工作的所有时间,因为我需要一个列表,其中有从另一个网站收集的实时数据。下面您可以详细阅读我采取的步骤和遇到的问题: 我在Visual Studio 2013上用C#编写了我的Web API 我从Godaddy买的服务器有Windows豪华主

我在Godaddy服务器上运行API时遇到问题。API基本上是在网站开始运行后的一段时间内不断向网站发送请求。因此,它具有在应用程序启动中创建的计时器,用于控制此操作。出于某种原因,如果没有人提出请求,我的API在一段时间后就会停止工作。然而,我需要我的API工作的所有时间,因为我需要一个列表,其中有从另一个网站收集的实时数据。下面您可以详细阅读我采取的步骤和遇到的问题:

  • 我在Visual Studio 2013上用C#编写了我的Web API
  • 我从Godaddy买的服务器有Windows豪华主机
  • 我使用ftp将文件上载到服务器的httpdocs文件夹
  • 当我通过键入“mysite.com/myWebAPI/myList”来调用我的API时,它开始工作,最初它返回一个空列表(我认为这是正常的)
  • 然后,我在2秒钟内发出相同的请求(允许我的API收集数据),然后返回我想要的列表,其中包含从另一个网站收集的实时数据
  • 在此之后,我的API不应该停止。它必须每X秒向网站发送一次请求,并更新列表中的信息
  • 然而,在5或10分钟后,如果没有人发送请求,那么我的API将停止,因此它将停止从其他网站收集信息,并且列表不会更新
  • 然后,如果发出另一个请求,它将再次激活并开始工作,但现在我的列表再次为空。这意味着重新创建列表。只有再次调用应用程序启动时,才会发生这种情况 请注意,当我在本地主机服务器上运行此Web API时,它工作得非常好。它不会通过每X秒向网站发送请求来停止并正确收集信息。即使我在30分钟内没有提出任何请求,但在30分钟过去后发送请求后,它会返回我想要的列表

    所以问题是,有没有办法解决这个问题,让我的API一直工作,而不停在拥有Windows豪华主机的GoDaddy服务器上?

    我可能必须在IIS应用程序池中做一些事情,但我不确定该做什么


    感谢您的帮助。

    我不确定GoDaddy的具体情况,但在Azure Web App服务中,这也是很常见的,通过启用“始终打开”功能可以解决这一问题,该功能可能会自动执行每x分钟ping API的工作。如果GoDaddy具有类似的功能,启用它可以解决此问题

  • 在IIS空闲之前创建计划任务ping API 超时。

  • 您还可以将Pingdom设置为pingapi


  • IIS有一个空闲超时,当它没有收到任何请求时,它会将站点置于睡眠状态以节省服务器资源。您有权访问API应用程序池的空闲时间超时设置吗?如果是这样,您可以将其设置为更高的限制。如果您不能更改它(或者即使可以),您可能希望查看Quartz scheduler或其他运行计划任务的方法。感谢您的回复。我和Godaddy联系过,显然你不能调整任何关于应用程序池的内容。我现在正试图安排任务,但它会出现500个内部服务器错误,说明“您正在查找的资源有问题,无法显示。”在Godaddy上,当您将内容上载到httpdocs时,一切正常,但当您打开子文件夹时,您总是会遇到问题。如果我解决了这个问题,我会让人们知道,这样以后其他人就不会处理这样的事情了。