당신이 이러한 목표를 달성하기 위해 몇 가지 아약스를 사용할 수 있습니다.
<script type="text/javascript">
function checkAuthenticated() {
{
$.ajax({
type: "POST",
url: "CheckAutheticated.asmx/checkAuthenticated",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: checkAuthenticatedOk,
error: checkAuthenticatedError
});
}
}
function checkAuthenticatedOk() { }
function checkAuthenticatedError() {
$("#sessionExpiredCover").show();
}
</script>
<style type="text/css">
#sessionExpiredCover {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100000;
display: none;
background-color: #fff;
/*opacity: .7;
filter:progid:DXImageTransform.Microsoft.BasicImage(opacity=.7);*/
}
</style>
<div id="sessionExpiredCover">
<div style="background-color:#fff; margin:100px; height:200px; width:400px;"><h1>Session expired</h1>
<br />
<asp:HyperLink NavigateUrl="~/Login.aspx" runat="server" Text="Please log in again" />
</div>
</div>
은 당신이의 WebMethod에 카운트 다운 코드를 개발해야합니다 : 당신의 서버 코드가 실행되는 경우 리셋 있도록
<%@ WebService Language="C#" Class="CheckAutheticated" %>
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
[System.Web.Script.Services.ScriptService]
public class CheckAutheticated : System.Web.Services.WebService {
[WebMethod]
public string checkAuthenticated()
{
//your countDownCode
return "authenticated";
}
}
그것은 유휴 시간 제한,의 여기에 가능한 솔루션입니다. 클라이언트에서이 작업을 수행해야합니다 (예 : 자바 스크립트. http://stackoverflow.com/questions/1470407/get-asp-net-session-last-access-time-or-time-to-timeout – StuartLC
인증 티켓을 사용하는 경우 FormsAuthenticationTicket.Expiration 속성 (DateTime)은 다음과 같습니다. 유능한. http://msdn.microsoft.com/en-us/library/system.web.security.formsauthenticationticket.expiration.aspx를 참조하십시오. –