首页 > 解决方案 > 打开网站的多个选项卡后,IIS Webserver 冻结

问题描述

当我在 firefox/chrome/etc 上打开多个选项卡时,我的 IIS 网络服务器冻结。我不确定,它是什么。我认为我的 SQL Server 有问题,尽管我使用 javascript 直接从数据库获取实时数据。我的 Javascript 填充了一个值。该值是从外部 asp.net 文件加载的。asp 文件从我的 sql 数据库中加载值。

冻结看起来像这样:当打开一个选项卡时,我可以随意使用该页面。我可以从表中选择数据,打开数据并读取一个生命值 8 或更好,多个活值)。

当我打开另一个选项卡时,页面开始加载很长时间。有时可以加载页面,但片刻之后另一个页面与实时数据一起崩溃,之后无法再次加载任何内容。然后我需要重新启动完整的 iis 服务。

我检查了每个 sql 查询,打开连接,使用阅读器,关闭阅读器并再次关闭连接(检查代码)。

我编写了一个变通方法,它不再工作了,我不知道为什么。它每 5 秒通过批处理重新启动网站(不是服务,尽管它需要很长时间并且页面停止连接)。

我现在将 jquery 用于实时数据,尽管纯 js 无法正常工作。

我重新安装了 iis 服务,以及所有组件。

我重新配置了在我的 IIS 上运行的网站。

这是来自 asp 文件的示例请求答案,将从 js 加载实时数据

//Wir benötigen die Artikelnummer
if (Request.QueryString["artikelnr"] != null)
 {
  DBMaster dbm = new DBMaster();
  string return_text = "X2";

  string query = "SELECT * FROM artikel WHERE artikelnr LIKE '" + Request.QueryString["artikelnr"].ToString() + "' AND beendet LIKE '0'";

try
 {
  SqlDataReader artikel = dbm.get_data(query);
  //Zähle die Zahlen hoch für Sollmenge
  while (artikel.Read())
   {
    sollmenge += Int32.Parse(artikel["sollmenge"].ToString());
   }
  return_text = sollmenge.ToString() + " St.";
  artikel.Close();
  //Datenbankverbindung schließen
  dbm.close_connect();
  }
  catch (Exception ex)
  {
   //Wir geben eine Leere antwort, falls wir keine Daten gefunden haben.
   return_text = "Failed: X1";
  }
  lit_api_answer.Text = return_text;
  }

这是实时数据的 js

<script>
 //Globale Funktion ohne angabe von IDs oder Stationsnummern
 function get_global_data(type, gdata) { $(gdata).load('api_call.aspx?type=' + type, function () { }); }
 setInterval(function () {
 get_global_data('get_nothalt', '#gnothalt')
 }, 2000);
 </script>

跨度,将填充实时数据

<span id="gnothalt">
</span>

我希望,它只是代码。但如果您愿意,您可以提供其他信息,例如 - 操作系统是 beckhoff 的修改版本。我看不到服务正在运行。

标签: javascriptc#asp.netiiscode-freeze

解决方案


推荐阅读