Trên trang lưu trữ kiểm soát Silverlight, bạn có thể thiết lập bộ hẹn giờ javascript và thực hiện cuộc gọi ajax đến Trình xử lý Http (.ashx) cứ 5 phút một lần để giữ cho phiên hoạt động. Đảm bảo yêu cầu lớp Handler của bạn triển khai IRequiresSessionState
.
Tôi khuyên bạn nên xử lý bởi vì nó dễ dàng hơn để kiểm soát văn bản phản hồi được trả về, và nó là nhẹ hơn sau đó một trang aspx.
Bạn cũng sẽ cần đặt bộ nhớ cache phản hồi đúng cách để đảm bảo trình duyệt thực hiện cuộc gọi ajax mỗi lần.
CẬP NHẬT
Đây là đoạn mã mẫu cho một HttpHandler
public class Ping : IHttpHandler, IRequiresSessionState
{
public void ProcessRequest(HttpContext context)
{
context.Response.Cache.SetCacheability(HttpCacheability.NoCache);
context.Response.ContentType = "text/plain";
context.Response.Write("OK");
}
public bool IsReusable
{
get { return true; }
}
}
Sau đó, nếu bạn sử dụng jQuery, bạn có thể đặt này trên aspx trang chủ của bạn
setInterval(ping, 5000);
function ping() {
$.get('/Ping.ashx');
}
Khoảng tính bằng mili giây, vì vậy mẫu của tôi sẽ ping sau mỗi 5 giây, có thể bạn muốn số đó lớn hơn. Fiddler là một công cụ tuyệt vời để gỡ lỗi các cuộc gọi ajax, nếu bạn không sử dụng nó, hãy bắt đầu.
Bạn có thể sử dụng Bộ hẹn giờ không? – WowtaH