Question : Détecter le temps mort d'état de session

Les chers experts, le

I ont une application Web d'aspx qui exige pour fonctionner plus de 8 heures en dehors régénèrent ou se déconnectent.  Svp aucun lien mais je ne voudrais connaître le code d'un certain VB.NET ou le manuscrit automatique d'avertissement de temps mort de session de Javascript qui indique : « Il n'y a eu aucune activité pendant quelque temps. Cliquer « CORRECT » si vous souhaitez continuer votre session, ou clic « annulation » pour se déconnecter. Pour votre sécurité si vous ne pouvez pas répondre à ce message dans un délai de 2 minutes vous serez déconnecté automatiquement » et réorientez à login.aspx après que le temps mort expire. le

I avaient fait ceci pendant 2 jours sans n'importe quel succès, également je vous voudrait a pu voir mon code ci-dessous :  web.config, global.asax, login.vb pour votre revue et votre aide est vraiment beaucoup élogieux.  Thanks.

WEB.CONFIG


< ! -- Note du
: Comme une alternative à la main éditant ce dossier vous peut utiliser l'outil d'admin de Web du
pour configurer des arrangements pour votre application. Use
l'option de configuration de Website->Asp.Net dans la pleine liste visuelle de Studio.
A d'arrangements et de commentaires peut être trouvé dans des ments du
machine.config.com habituellement situés dans le
\ Windows \ Microsoft.Net \ Framework \ v2.x \
de config--name= " system.web.extensions » type= " System.Web.Configuration de
du >

. SystemWebExtensionsSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, type= " scripting System.Web.Configuration " de name= " de
de PublicKeyToken=31BF3856AD364E35 ». ScriptingSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " >
< nom de section = " scriptResourceHandler » type= " System.Web.Configuration. ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, webServices faux » type= " System.Web.Configuration » de name= " de
de » requirePermission= " de PublicKeyToken=31BF3856AD364E35 » allowDefinition= " MachineToApplication. ScriptingWebServicesSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " >
< nom de section = " jsonSerialization » type= " System.Web.Configuration. ScriptingJsonSerializationSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, allowDefinition= " faux Everywhere »/>
Application »/>
e » type= " System.Web.Configuration. ScriptingAuthenticationServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, requirePermission= allowDefinition= " " faux » MachineToApplication »/>
64E35 » /> < nom de section = " roleService » type= " System.Web.Configuration. ScriptingRoleServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, requirePermission= allowDefinition= " " faux » MachineToApplication »/>




64E35 »/> < ! --
-->

< ! --mode= "OFF"/> de
< ! -- Debug= réglé de compilation du
" vrai » pour insérer des symboles du
d'élimination des imperfections dans la page compilée. Puisque ce
affecte l'exécution, placer cette valeur pour rectifier seulement le
pendant les options de development.

Visual Basic : Strict= réglé du
" vrai » pour rejeter tout le
données de conversions de types où la perte de données peut se produire. Explicit= réglé du
" vrai » pour forcer la déclaration de tout le variables.
        --batchTimeout= " 43200 » defaultLanguage= " vrai » " VB » » numRecompilesBeforeAppRestart= " de
de debug= d'explicit= 15 » assembly= " faux " " 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 de
du
du >
de strict= de
de
de
. 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
de
/>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
de
de de/>
de
de
de de/>
de de/>
/>ons, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A bureau » d'assembly= de
", Version= 11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c accessibilité » d'assembly= de
", Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A » assembly= " CrystalDecisions.CrystalReports de
. 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 de
de
de
de
, Culture=neutral, PublicKeyToken=692fbea5521
" CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, » assembly= de
" CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, » assembly= de
" Microsoft.Office.Tools.Excel.v9.0, Version= 9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A/>e1304 PublicKeyToken=692fbea5521e1304 PublicKeyToken=692fbea5521e1304 » système » namespace= " System.Collections » namespace= " System.Collections/>
du
de/>

de namespace=
de
de
. Generic » namespace= " System.Collections de
. Specialized » namespace= " System.Configuration » namespace= " System.Text » namespace= " System.Text.Reg
de
de
/>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 de
de
de
de
de
de
de
de
de
de
de
de />
de
de
du />

tagPrefix= " ajaxToolkit »/>


it » de » assembly= " d'AjaxControlToolkit » de namespace= " de
du » assembly= " du » namespace= " System.Web.UI.WebControls » du tagPrefix= " asp de
du » assembly= " du » namespace= " System.Web.UI System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35/> < ! --Le
la section de permet le
de configuration du mode d'authentification de sécurité employé par le
ASP.NET pour identifier un utilisateur entrant.
du timeout= " 480 "        --l'enabled= de
mode= " vrai " de er>
" forme " timeout= " du loginUrl= le " login.aspx de du >
540 » » protection= " du name= » .authCookie tout le » » de path=/ » " users= "
d'users= de
de/>

" de slidingExpiration= cookieless= " UseCookies " timeout= de



" 540 * ? « />
< ! -- nécessaire avec l'authentification de formes de forcer réorienter pour ouvrir une session la page -->
< ! --  users= de
" [liste séparée par virgule de rôles] « users=
 » [liste séparée par virgule d'utilisateurs] » roles=
" [liste séparée par virgule de rôles] « /> --mode= " RemoteOnly » de du >

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

du
de rvices de verb= " de
du path= " *.asmx » * » de validate=. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 type= " faux System.Web.Script.Services de » validate= " de *_AppService.axd de » path= " » de verb= " de
* ». ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, Validate= " du » type= " du » path= " ScriptResource.axd » de TÊTE » de verb= " de
de PublicKeyToken=31BF3856AD364E35 OBTENIR, System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 » enabled= " faux » du defaultProvider= " MyXmlSiteMapProvider de

du » type= " de ScriptModule de name= " de
de/>

System.Web.Handlers.ScriptModule, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 rectifient " description= " fournisseur de MyXmlSiteMapProvider le » de name= " de
du >
de SiteMap qui lit dedans des dossiers 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, système, Version= 2.0.0.0, Culture=neutral, vb faux " de language= de

" de " value= " de WarnAsError " de name= " de
" de name= " de
de PublicKeyToken=b77a5c561934e089 CompilerVersion " value= " v3.5 ; vbs ; visualbasic ; le warningLevel= " du " extension= " .vb du vbscript " 4 value= " d'OptionInfer " de name= " de
du " value= " v3.5 de CompilerVersion " de name= " de
du " type= " Microsoft.VisualBasic.VBCodeProvider, système, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 rectifient value=/>





faux "/>de " type= " System.Web.Script.Services de preCondition= " de " *.asmx " de path= de verb= " de " ScriptHandlerFactory " de name= de
de name= " de
de name= " de
de name= " de
de/>

de preCondition= " de " ScriptModule " de name= de
de name= " de
de/>
du validateIntegratedModeConfiguration= ScriptModule type= " System.Web.Handlers.ScriptModule, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, name= de
" ScriptResource/>s/>AppService ScriptHandlerFactoryrated/>tory-Integ64E35 PublicKeyToken=31BF3856AD3er " managedHandliptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 integratedMode " type= " System.Web.Script.Services de " preCondition= " de *_AppService.axd de " path= " de " verb= " de ScriptHandlerFactoryAppServices " de name= " de
*. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 l'integratedMode " verb= " de " preCondition= " de ScriptResource " de name= " de
OBTIENNENT, urne de xmlns=
de/>


" de " path= " de TÊTE " ScriptResource.axd le " type= " System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 : schémas-microsoft-com : l'asm.v1 " le name= " System.Web.Extensions le " de
du >
publicKeyToken= " 31bf3856ad364e35 " oldVersion= " 1.0.0.0 - 1.1.0.0 " de
newVersion= " 3.5.0.0 " le name= " System.Web.Extensions.Design le " de
de/>

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



" rectifient " le server=AVC de " value= " de ConnectionString de key= " de
du >
; database=NNN ; uid=User ; pwd=user key= " ActiveDirectoryConn " value= " LDAP " de/>

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


; database=NNN ; uid=User ; le

des poignées btnLogin.Click

du btnLogin_Click de/>









LOGIN.VB

Protected du pwd=user (expéditeur de ByVal comme objet, ByVal e comme " System.EventArgs) obscurcissent l'adPath comme corde = « LDAP : //DC=cool,
de DC=net le " obscurcissent l'adAuth en tant que nouveau
Try
de SITE.LDAPAuthentication (adPath) si vrai = adAuth.IsAuthenticated (txtDomain.Text, txtusername. Le texte, txtPassword.Text) Then

'obtiennent au
de rôles d'utilisateur de faibles groupes pendant que la corde = le

d'adAuth.GetGroups () 'créent le billet, et ajoutent le faible isCookiePersistent de groups.
en tant que booléen = faible authTicket de chkPersist.Checked
pendant que le nouveau

de FormsAuthenticationTicket (1, txtUsername.Text, DateTime.Now, DateTime.Now.AddHours (12), isCookiePersistent, groupes) 'chiffrent le faible encryptedTicket de ticket.
pendant que le

de corde = de FormsAuthentication.Encrypt (authTicket) 'créent a le biscuit, et ajoutent alors le billet chiffré au biscuit comme faible authCookie de data.
en tant que nouveau HttpCookie (FormsAuthentication. FormsCookieName,

d'encryptedTicket) 'si ChkPersist est vérifié 'pour que le navigateur écrive le temps d'expiration de biscuit doit être le
« ne confondent pas FormsAuthenticationTicket.Expire avec le biscuit expirent le
de temps si Then
extrémité If

d'authCookie.Expires = d'authTicket.Expiration
« ajoutent le biscuit aux biscuits sortants collection.
HttpContext.Current.Response. Le


de Cookies.Add (authCookie) « vous pouvez réorienter now.
« Response.Redirect (FormsAuthentication.GetRedirectUrl (txtUsername.Text, faux))
Response.Redirect (FormsAuthentication.GetRedirectUrl (txtUsername.Text, chkPersist.Checked))le
le
Else
de « Response.Redirect (« default.aspx ») errorLabel.Text = « authentification n'a pas réussi. Vérifier le nom d'utilisateur et le mot de passe. S'assurer que votre fonction majuscule sur votre clavier est éteinte. « crochet d'If
de fin du
ex comme Exception
errorLabel.Text = « authentification d'erreur.  » + ex. Application Language= " VB " code de Sub



GLOBAL.ASAX

<%@ de fin du
de Try


de fin de Message
de
de " serveur " de runat= de %>






LDAPAuthentication.VB

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


Namespace SITE

de Sub
de fin du
du
du principal

comme _filterAttribute privé de String
comme nouveau secondaire public de String

(Chemin de ByVal comme corde) le _path du
= la fonction publique IsAuthenticated (domaine de Sub

de fin du path
de ByVal comme username de corde, de ByVal comme pwd de corde, de ByVal comme corde) comme Boolean

obscurcissent le domainAndUsername comme corde = domaine + » \ « + faible entrée de l'username
pendant que nouveau (_path, domainAndUsername, pwd) grippage de Try
/>
le 'à l'AdsObject indigène pour forcer authentication.
obscurcissent l'obj comme objet = recherche d'entry.NativeObject

la faible en tant que nouveau

de DirectorySearcher (entrée) search.SearchScope = recherche de SearchScope.Subtree
. Filtre = » sAMAccountName (de CN= " + username + ") « 

' = nom.  Le vieux nom de connexion de NT 4.0, doit être unique dans le domaine.  Peut être confondu avec la NC. recherche du
. Le filtre = » (SAMAccountName= " + username + ") le
du « 
search.PropertiesToLoad.Add (« NC ») obscurcissent le résultat comme

de SearchResult = de search.FindOne () si le résultat n'est rien Then

False
/> de retour 'le nouveau chemin à l'utilisateur dans le _path = le résultat de directory.
. _filterAttribute de Path
= DirectCast (résultat. Crochet du
de Properties (« NC ») (0), de corde) ex comme jet nouveau System.Exception (« utilisateur de authentification de System.Exception
d'erreur.  » + ex. La fonction publique de retour GetGroups de Function

de fin de Try

True
de fin du
de message) () comme String

obscurcissent la recherche pendant que nouvelle recherche du
de DirectorySearcher (_path). Le filtre = « (cn= » et _filterAttribute et ") le « (« « 


de sAMAccountname le » de memberOf ») de/>
d search.PropertiesToLoad.Ad
de 'search.PropertiesToLoad.Add () obscurcissent des groupNames en tant que nouveau résultat du

Try
de System.Text.StringBuilder () faible comme SearchResult = propertyCount du
de search.FindOne () faible comme nombre entier = résultat. Propriétés (« memberOf »). Count
obscurcissent le DN comme faible equalsIndex de String
comme nombre entier, commaIndex comme Integer

obscurcissent le propertyCounter comme nombre entier = 0
tandis que propertyCounter < propertyCount
DN = DirectCast (résultat. equalsIndex du
de Properties (« memberOf ») (propertyCounter), de corde) = dn.IndexOf (« = », commaIndex de 1)
= dn.IndexOf ( », « , 1)
si -1 = extrémité de retour If
groupNames.Append (DN de Then
Nothing
d'equalsIndex.
groupNames.Append de Substring ((equalsIndex + 1), (commaIndex - equalsIndex) - 1)) (« |")
System.Math.Max (System.Threading. Interlocked. Increment (propertyCounter), propertyCounter - crochet de While
de fin de 1)
ex comme jet nouveau System.Exception (« erreur d'Exception
obtenant des noms de groupe.  » + ex. Extrémité de retour Class
End Namespace
de Function
de fin du
de Try
groupNames.ToString de fin du
de message) () class= de

Réponse : Détecter le temps mort d'état de session

Pourquoi ne faites pas vous juste changement votre mode de SessionState à « StateServer ».  Vous pourriez avoir une issue avec la piscine d'application réutilisant et dans InProc si cela se produit, état de session et processus d'ouvrier d'asp.net sont réutilisés.  Dans SessionState, le fil de fil de session et d'ouvrier d'asp.net sont séparés et s'il réutilise, il affecte seulement le fil d'ouvrier.  Quoi qu'il en soit, vérifier le lien ci-dessous.

=/> " vrai "  

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

Ne pas oublier d'activer le service d'état d'ASP.NET.

Vous pouvez l'exécuter dans un message de sollicitation de commande VS2008 avec cette commande

aspnet_state net de début

Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us