Cuestión : Detectar el descanso del estado de la sesión

Los estimados expertos,

I tienen una aplicación web del aspx que requiera para funcionar más de 8 horas fuera restauran o logout.  Por favor ningunos acoplamientos pero yo quisiéramos saber el código de algún VB.NET o el descanso de sesión del Javascript que advierte la escritura móvil que dice: “No ha habido actividad por algún tiempo. Chascar “ACEPTABLE” si usted desea continuar su sesión, o tecleo “cancelación” para logout. Para su seguridad si usted no puede responder a este mensaje en el plazo de 2 minutos le apagarán automáticamente” y vuelve a dirigir a login.aspx después de que expire el descanso. el

I ha estado haciendo esto por 2 días sin ningún éxito, también yo le quisiera podía considerar mi código abajo:  web.config, global.asax, login.vb para su revisión y su ayuda es realmente mucho elogiosos.  Thanks.

WEB.CONFIG


: Como una alternativa a la mano que corrige este archivo usted puede utilizar la herramienta del admin de la tela del
para configurar los ajustes para su uso. Use
la opción de configuración de Website->Asp.Net en la lista completa visual de Studio.
A de ajustes y de comentarios se puede encontrar en los ments del
machine.config.com situados generalmente en el
\ Windows \ Microsoft.Net \ Framework \ v2.x \
de los Config--name= " system.web.extensions” type= " System.Web.Configuration del
del >

. SystemWebExtensionsSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, type= " scripting” " System.Web.Configuration del name= " del
de PublicKeyToken=31BF3856AD364E35. ScriptingSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " >
< nombre de sección = " scriptResourceHandler” type= " System.Web.Configuration. ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, webServices falsos” type= " System.Web.Configuration del name= " del
del” requirePermission= " de PublicKeyToken=31BF3856AD364E35” allowDefinition= " MachineToApplication”. ScriptingWebServicesSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " >
< nombre de sección = " jsonSerialization” type= " System.Web.Configuration. ScriptingJsonSerializationSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, allowDefinition= falso " Everywhere”/>
Application”/>
e” type= " System.Web.Configuration. ScriptingAuthenticationServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, requirePermission= allowDefinition= " falso” " MachineToApplication”/>
64E35” /> < nombre de sección = " roleService” type= " System.Web.Configuration. ¡ScriptingRoleServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, requirePermission= allowDefinition= " falso” " MachineToApplication”/>




64E35”/>
--¡>

de los
" verdad” insertar símbolos del
del depuración en la página compilada. Porque este
afecta a funcionamiento, fijar este valor para verdad solamente el
durante opciones de development.

Visual Basic: Strict= determinado del
" verdad” rechazar todo el tipo
de datos de las conversiones donde la pérdida de los datos puede ocurrir. Explicit= determinado del
" verdad” forzar la declaración de todo el variables.
        --batchTimeout= " 43200 defaultLanguage= " verdadero” " VB” numRecompilesBeforeAppRestart= " del
del debug=” del explicit= " 15 assembly= " falso " " System.Core, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089” assembly= " System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” assembly= " System.Data.DataSetExtensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089” assembly= " System.Web.Extensions del
del
del >
” del strict= del
del
del
. Design, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” assembly= " System.Design, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A” assembly= " System.Windows.F
del
/>orms, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089” assembly= " System.Drawing.Design, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A” assembly= " Microsoft.Office.Interop.Excel, Version= 11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” assembly= " System.Xml, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089” assembly= " System.DirectoryServices, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A” assembly= " System.DirectoryServices.Protocols, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A” assembly= " System.ServiceProcess, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A” assembly= " System.Web.RegularExpressi
del
del de/>
del
del
del de/>
del de/>
/>ons, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A” oficina del assembly= del
", Version= 11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” accesibilidad del assembly= del
", Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A” assembly= " CrystalDecisions.CrystalReports del
. Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304” assembly= " CrystalDecisions.Enterprise.Framework, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304” assembly= " CrystalDecisions.ReportAppServer.ClientDoc, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304” assembly= " CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304” assembly= " CrystalDecisions.Enterprise.InfoStore, Version=10.5.3700.0 del
del
del
del
, Culture=neutral, PublicKeyToken=692fbea5521.ReportSource, Version=10.5.3700.0, Culture=neutral,” assembly= " Microsoft.Office.Tools.Excel.v9.0, Version= 9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A/>e1304 PublicKeyToken=692fbea5521e1304 PublicKeyToken=692fbea5521e1304” sistema” namespace= " System.Collections” namespace= " System.Collections del
del
del
/>
del
de/>

del namespace=
del
del
. Generic” namespace= " System.Collections del
. Specialized” namespace= " System.Configuration” namespace= " System.Text” namespace= " System.Text.Reg
del
del
/>ularExpressions” namespace= " System.Linq” namespace= " System.Xml.Linq” namespace= " System.Xml” namespace= " System.Web” namespace= " System.Web.Caching” namespace= " System.Web.SessionState” namespace= " System.Web.Security” namespace= " System.Web.Profile” namespace= " System.Web.UI” namespace= " System.Web.UI.WebControls” namespace= " System.Web.UI.WebControls.WebParts " namespace= " System.Web.UI.HtmlControls” namespace= " System.DirectoryServices " tagPrefix= " ASP del
del
del
del
del
del
del
del
del
del
del
del />
del
del
del />

¡tagPrefix= " ajaxToolkit”/>


it” del” assembly= " de AjaxControlToolkit del namespace= " del
del” assembly= " System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” del” namespace= " System.Web.UI.WebControls del tagPrefix= " ASP del
del” assembly= " System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” del” namespace= " System.Web.UI/> la sección del permite el
de la configuración del modo de la autentificación de la seguridad usado por el
ASP.NET para identificar a un usuario entrante.
del timeout= " 480 "        --¿el enabled= del
mode= " verdadero " del er>
" forma " el timeout= " del loginUrl= " login.aspx de los del >
540” protection= "” del name=” .authCookie todo el””/" users= "
del users= del
de/>

"” del path= del slidingExpiration= cookieless= " UseCookies " timeout= del



" 540 *? ¡“/>

del
de/>
de/>
--mode= " RemoteOnly” de los del >

defaultRedirect= " GenericErrorPage.htm " statusCode= del
" 403” redirect= " NoAccess.htm” statusCode= del
" 404” redirect= " FileNotFound.htm” de/>

del
del rvices” del verb= " del
” del path= " *.asmx” *” del validate=. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” type= falso " System.Web.Script.Services del” validate= " de *_AppService.axd del” path= " del verb= " del
*”. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, Validate= enabled= " falso” " del” type= " System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” del” path= " ScriptResource.axd de la CABEZA del verb= " del
de PublicKeyToken=31BF3856AD364E35” CONSEGUIR, del defaultProvider= " MyXmlSiteMapProvider del

del” type= " System.Web.Handlers.ScriptModule, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” de ScriptModule del name= " del
de/>

verdad " description= " abastecedor de MyXmlSiteMapProvider el” del name= " del
del >
de SiteMap que lee adentro archivos de .sitemap.” type= " System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d
de/>




"; cs; csharp " extension= " .cs " warningLevel= " 4 " type= " Microsoft.CSharp.CSharpCodeProvider, sistema, Version= 2.0.0.0, Culture=neutral, vb falso del language= del

" del " value= " de WarnAsError " del name= " del
del name= " del
de PublicKeyToken=b77a5c561934e089 " CompilerVersion " value= " v3.5 "; vbs; visualbasic; ¡el warningLevel= " del " extension= " .vb del vbscript " 4 value= " de OptionInfer del name= " del
del " value= " v3.5 " de CompilerVersion del name= " del
del " type= " Microsoft.VisualBasic.VBCodeProvider, sistema, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 " verdad " value=/>



del name= del
del name= " del
del name= " del
del name= " del
de/>

" del preCondition= " de " ScriptModule del name= del
del name= " del
de/>
del validateIntegratedModeConfiguration= " del

" ScriptModule type= " System.Web.Handlers.ScriptModule, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, de/>
del ScriptHandlerFactoryrated/>tory-Integ64E35 PublicKeyToken=31BF3856AD3er " managedHandliptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " integratedMode " type= " System.Web.Script.Services del " preCondition= " de *_AppService.axd del " path= " del " verb= " de ScriptHandlerFactoryAppServices del name= " del
*. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " integratedMode " verb= " del " preCondition= " de ScriptResource del name= " del
CONSIGUE, urna del xmlns=
de/>


" del " path= " de la CABEZA " ScriptResource.axd el " type= " System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35: esquemas-microsoft-com: el asm.v1 " el name= " System.Web.Extensions el " del
del >
publicKeyToken= " 31bf3856ad364e35 " oldVersion= " 1.0.0.0 - 1.1.0.0 " del
newVersion= " 3.5.0.0 " el name= " System.Web.Extensions.Design el " del
de/>

publicKeyToken= " 31bf3856ad364e35 " oldVersion= " 1.0.0.0 del
- 1.1.0.0 " newVersion= " 3.5.0.0 " allowOverride= del



" verdad " el server=AVC del " value= " de ConnectionString del key= " del
del >
; database=NNN; uid=User; pwd=user " key= " ActiveDirectoryConn " value= " LDAP de/>

et " server=AVC del " value= " de ConnectionString del name= " del
de/>


; database=NNN; uid=User; el

de las manijas btnLogin.Click

del btnLogin_Click de/>









LOGIN.VB

Protected del pwd=user " (remitente de ByVal como objeto, ByVal e como System.EventArgs) amortigua el adPath como secuencia = “LDAP: //DC=cool,
de DC=net " amortiguan el adAuth como nuevo
Try
de SITE.LDAPAuthentication (adPath) si es verdad = adAuth.IsAuthenticated (txtDomain.Text, txtusername. El texto, txtPassword.Text) Then

'consigue a
de los papeles de usuario grupos déviles como la secuencia = el

de adAuth.GetGroups () 'crean el boleto, y agrega el isCookiePersistent dévil de groups.
como boleano = authTicket dévil de chkPersist.Checked
mientras que el nuevo

de FormsAuthenticationTicket (1, txtUsername.Text, DateTime.Now, DateTime.Now.AddHours (12), isCookiePersistent, grupos) 'cifra el encryptedTicket dévil de ticket.
mientras que el

de la secuencia = de FormsAuthentication.Encrypt (authTicket) 'crea a la galleta, y entonces agrega el boleto cifrado a la galleta como authCookie dévil de data.
como nuevo HttpCookie (FormsAuthentication. FormsCookieName,

del encryptedTicket) 'si expira ChkPersist se comprueba 'para que el hojeador escriba el tiempo de la expiración de la galleta tiene que ser el
“no confunde FormsAuthenticationTicket.Expire con la galleta el
del tiempo si Then
extremo If

de authCookie.Expires = de authTicket.Expiration
“agrega la galleta a las galletas salientes collection.
HttpContext.Current.Response. El


de Cookies.Add (authCookie) “usted puede volver a dirigir now.
“Response.Redirect (FormsAuthentication.GetRedirectUrl (txtUsername.Text, falso))
Response.Redirect (FormsAuthentication.GetRedirectUrl (txtUsername.Text, chkPersist.Checked))el

Else
de “Response.Redirect (“default.aspx”) errorLabel.Text = “autentificación no tuvo éxito. Comprobar el nombre y la contraseña de usuario. Cerciorarse de que su cerradura de casquillos en su teclado esté apagada. “retén de If
del final del
ex como Exception
errorLabel.Text = “autenticidad del error. ” + ex. Uso Language= " VB " código de Sub



GLOBAL.ASAX

<%@ del final del
de Try


del final de Message
del
del " servidor " del runat= de %>






LDAPAuthentication.VB

Imports System
Imports Microsoft.VisualBasic
Imports System.DirectoryServices
Imports System.Exception


Namespace SITE

de Sub
del final del
del
del principal

como _filterAttribute privado de String
como nuevo secundario público de String

(Trayectoria de ByVal como secuencia) el _path del
= la función pública IsAuthenticated (dominio de Sub

del final del path
de ByVal como username de la secuencia, de ByVal como pwd de la secuencia, de ByVal como secuencia) como Boolean

amortiguan el domainAndUsername como secuencia = dominio +” \ “+ entrada dévil del username
mientras que nuevo (_path, domainAndUsername, pwd) lazo de Try
/>
el 'al AdsObject nativo para forzar authentication.
amortigua el obj como objeto = la búsqueda dévil de entry.NativeObject

como nuevo

de DirectorySearcher (entrada) search.SearchScope = búsqueda de SearchScope.Subtree
. Filtro =” sAMAccountName (de CN= " + username + ") “

' = nombre.  El viejo nombre de conexión del NT 4.0, debe ser único en el dominio.  Puede ser confundido con el NC. búsqueda del
. El filtro =” (SAMAccountName= " + username + ") el
del “
search.PropertiesToLoad.Add (“NC”) amortigua resultado como

de SearchResult = de search.FindOne () si el resultado no es nada Then

False
/> de vuelta 'la nueva trayectoria al usuario en el _path = el resultado de directory.
. _filterAttribute de Path
= DirectCast (resultado. Retén del
de Properties (“NC”) (0), de la secuencia) ex como tiro nuevo System.Exception (“usuario de autenticidad de System.Exception
del error. ” + ex. La función pública de vuelta GetGroups de Function

del final de Try

True
del final del
del mensaje) () como String

amortigua búsqueda mientras que nueva búsqueda del
de DirectorySearcher (_path). El filtro = “(cn=” y _filterAttribute y ") “(el


“del sAMAccountname” “del memberOf”) de/>
d search.PropertiesToLoad.Ad
de 'search.PropertiesToLoad.Add () amortigua groupNames como nuevo resultado dévil del

Try
de System.Text.StringBuilder () como SearchResult = propertyCount dévil del
de search.FindOne () como número entero = resultado. Características (“memberOf”). Count
amortigua el dn como equalsIndex dévil de String
como número entero, commaIndex como Integer

amortigua el propertyCounter como el número entero = 0
mientras que propertyCounter < el propertyCount
dn = DirectCast (resultado. equalsIndex del
de Properties (“memberOf”) (propertyCounter), de la secuencia) = dn.IndexOf (“=”, commaIndex de 1)
= dn.IndexOf (”, “, 1)
si -1 = extremo de vuelta If
groupNames.Append (dn de Then
Nothing
del equalsIndex.
groupNames.Append de Substring ((equalsIndex + 1), (commaIndex - equalsIndex) - 1)) (“|")
System.Math.Max (System.Threading. Interlocked. Increment (propertyCounter), propertyCounter - retén de While
del final de 1)
ex como tiro nuevo System.Exception (“error de Exception
que obtiene nombres de grupo. ” + ex. Extremo de vuelta Class
End Namespace
de Function
del final del
de Try
groupNames.ToString del final del
del mensaje) () class= del

Respuesta : Detectar el descanso del estado de la sesión

Porqué no lo hace usted apenas cambio su modo de SessionState a “StateServer”.  Usted puede ser que tenga una edición con la piscina del uso que reciclaba y en InProc si sucede ése, estado de la sesión y proceso del trabajador se recicla de asp.net.  En SessionState, se separa el hilo de rosca del hilo de rosca de la sesión y del trabajador de asp.net y si recicla, afecta solamente al hilo de rosca del trabajador.  De todas formas, comprobar el acoplamiento abajo.

=/> " verdadero "  

http://msdn.microsoft.com/en-us/library/ms178586.aspx

No olvidar activar servicio de estado de ASP.NET.

Usted puede ejecutarlo en un aviso de comando VS2008 con este comando

aspnet_state neto del comienzo

Otras soluciones  
 
programming4us programming4us