1
我已經開始在IIS 7上開發.NET 4中的網絡聊天。聊天的主頁包含2個IFRAME。第一幀用於預留消息並逐步加載(它將消息加載並將消息傳遞給與聊天連接的所有用戶)。第二個iframe用來發送消息。當第一幀加載第二幀不能被加載時,我遇到了一個問題,但如果第一幀停止加載,則以毫秒爲單位執行秒。同時加載2個iframe
- 我已經嘗試過:
- 使用AJAX來發送郵件。
- 對第一幀和第二幀的腳本使用不同的名稱。它有時會幫助但不總是。
- 檢查用戶刷新聊天主頁後腳本是否仍然運行或關閉它。
- 在IIS中設置連接超時。
- 使用流式響應/文本響應。
- 連接保持活動/沒有保持活動指令。
- 交換主聊天頁面的Iframe標籤。
- 以不同的方式添加聊天主頁面的CSS JS文件,即@import CSS。
- 刪除使用。
我發現了一個sollution,但我不認爲這是因爲使用域訪問的JavaScript限制諸多領域很好的解決方案。 iFrames not executing in parallel
這裏是Test.aspx文件和Test.aspx.cs頁面代碼:
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Test._Default" %>
using System;
using System.Web;
using System.Threading;
namespace Test
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string p = (Request.QueryString["p"] != null)?Request.QueryString["p"]:"";
if(Request.QueryString["data"] == null)
{
Response.Write(@"<html><head></head><body>12<iframe src=""Test.aspx?data="" height=""900px""></iframe><iframe src=""http://localhost/Test"[email protected]".aspx?data="" height=""900px""></iframe></body></html>");
}
else
{
System.IO.File.AppendAllText(Server.MapPath(".")+ @"\test.log", DateTime.Now.ToString()+ "\t" + "Data script started\r\n");
Response.Write(new String(' ', 1024));
int i=0;
while (Response.IsClientConnected)
{
Response.Write((++i).ToString() + " ");
Response.Flush();
Thread.Sleep(1000);
System.IO.File.AppendAllText(Server.MapPath(".")+ @"\test.log", DateTime.Now.ToString()+ "\t" + "Data script Runned\r\n");
}
System.IO.File.AppendAllText(Server.MapPath(".")+ "test.log", DateTime.Now.ToString()+ "\t" + "Data script stoped\r\n");
}
}
}
}