7 回答

TA貢獻1966條經驗 獲得超4個贊
打開頁面,可以開始寫,但是,關閉這個頁面的時候,服務器是不知道的。除非 設置一個時間段,一段時間不訪問這個頁面,就認為是關閉了。
app_start app_end session_start session_end
這個只能是 對于一個網站的監控,而對于頁面卻是無能為力。

TA貢獻1802條經驗 獲得超4個贊
Http是一次請求和回應的過程.web開發,要分清服務端和客戶端.
正常情況位于美國的Google服務器是不知道你在中國的瀏覽器上打開的Google頁面關閉的.
一定要實現這個需求可以在客戶端頁面的關閉事件中發出Ajax請求去關閉寫日志的功能.

TA貢獻1891條經驗 獲得超3個贊
我的理解是如果服務端沒有響應完,那么IsClientConnected就是true.
Response如果End了,那么IsClientConnected就會是false.

TA貢獻1794條經驗 獲得超8個贊
bool Istrue = true;
??????????? int i = 0;
if (Response.IsClientConnected)
{
??????????? while (Istrue)
??????????? {
??????????????? i++;
??????????????? if (Response.IsClientConnected)
??????????????? {
??????????????????? BusinessBase.Common.Error.LogText("寫日志:" + i);//寫日志代碼...
??????????????????? System.Threading.Thread.Sleep(1000);
??????????????? }
??????????????? else
??????????????????? Istrue = false;
??????????? }
}
else
{
? ? ? ? //執行其他操作
}
試試看,未測試

TA貢獻1804條經驗 獲得超2個贊
要么在關閉前向服務器發送一個Ajax請求,要么客戶端的頁面在打開之后每隔一小段時間向服務器發送表明自己處在活動狀態的Ajax請求,服務器端輪詢客戶端的狀態,沒處在活動狀態的作相應處理,實時程度取決于那個間隔。
- 7 回答
- 0 關注
- 464 瀏覽
添加回答
舉報