Fråga : Avkänn den statliga frånslagningstiden för perioden

Kära experter,

I har en aspxrengöringsdukapplikation, som kräver för att köra mer än, 8 timmar without förnyar eller logout.  Behaga inget anknyter, men jag skulle något liknande för att veta att några VB.NET kodifierar eller att varna för frånslagningstid för JavaScriptperiod som är popup skrivar att något att säga: ”Har det intefinnas någon aktivitet för någon tid. Klicka ”REKO”, om du önskar att fortsätta din period eller klicka ”annulleringen” för att logout. För din säkerhet, om du är oförmögen att reagera till detta meddelande inom 2, noterar dig ska loggas ut automatiskt” och omdirigerar till login.aspx, efter frånslagningstiden har förfallit.

I har gjort denna för 2 dagar utan någon framgång, mig skulle också något liknande som du kunde se mitt kodifiera nedanfört:  web.config global.asax, login.vb för ditt granskar, och din hjälp är egentligen mycket appreciative.  Thanks.

WEB.CONFIG


noterar: Som ett alternativ som räcker att redigera detta, sparar, du kan använda rengöringsduken admin för
bearbetar för att konfigurera inställningar för din applikation. Use
som Website-->Asp.Netkonfigurationalternativet i visuellt hjälpmedel Studio.
A listar mycket av inställningar, och kommentarer kan finnas i ments för
machine.config.com lokaliseras vanligt i
\ Windows \ Microsoft.Net \ Framework \ v2.x \ Config
--name= " system.web.extensions” type= " System.Web.Configuration för
för >

. SystemWebExtensionsSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, type= " System.Web.Configuration " för name= " för
för PublicKeyToken=31BF3856AD364E35 skriva”. ScriptingSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, scriptResourceHandler” type= " System.Web.Configuration " för name= " för

för PublicKeyToken=31BF3856AD364E35. ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, webServices” type= " System.Web.Configuration” för name= " för
” för requirePermission= " för PublicKeyToken=31BF3856AD364E35 falska” allowDefinition= " MachineToApplication. ScriptingWebServicesSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, jsonSerialization” type= " System.Web.Configuration " för name= " för

för PublicKeyToken=31BF3856AD364E35. ScriptingJsonSerializationSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, profileService” type= " System.Web.Configuration” för name= " för

” för requirePermission= " för PublicKeyToken=31BF3856AD364E35 falsk” allowDefinition= " Everywhere. ScriptingProfileServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, authenticationService” type= " System.Web.Configuration” för name= " för

” för requirePermission= " för PublicKeyToken=31BF3856AD364E35 falsk” allowDefinition= " MachineToApplication. ScriptingAuthenticationServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, allowDefinition= " MachineToApplication” -->
att sätta in symboler för feltestnings
in i den sammanställde sidan. Därför att denna
påverkar kapacitet, uppsättningen som detta värderar för att true endast
under alternativ för development.

Visual Basic: " Riktig” fastställd strict= för
att förkasta alla data skrivar omvandlings
var dataförlust kan uppstå. " Riktig” fastställd explicit= för
att tvinga förklaringen allra variables.
        --
för debug= " för explicit= " 15” assembly= " System.Core, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089” sions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” SetExtensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089” sions för
för
för >
för strict= " falsk " för/>
för/>
för/>
. Design, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 50A3A
för/>
/>orms Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089 esign, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A .Interop.Excel, Version= 11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” assembly= " System.Xml, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089 Services, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A Services.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
” för/>
för för/>
för/>
för/>
för för/>
för för/>
/>ons Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A” för
kontor ", Version= 11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c” för
Accessibility ", Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A .CrystalReports” för/>
. Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 .Enterprise.Framework, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 .ReportAppServer.ClientDoc, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 .Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 .Enterprise.InfoStore, Version=10.5.3700.0”” för/>
” för/>
” för/>
för/>
, Culture=neutral PublicKeyToken=692fbea5521
.Web, Version=10.5.3700.0, Culture=neutral,” för/>
.ReportSource, Version=10.5.3700.0, Culture=neutral,” för/>
.Tools.Excel.v9.0, Version= 9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A/>e1304 PublicKeyToken=692fbea5521e1304 PublicKeyToken=692fbea5521e1304” system ons ons” för
för
för/>

namespace= för
” för/>
för/>
. Generic ons” för/>
. Specialized ation ing ionState rity ile ebControls.WebParts tmlControls yServices " tagPrefix= " asp”” för/>
” för/>
” för/>
” för/>
” för/>
” för/>
” för/>
” för/>
” för/>
” för/>
” för/>
" för />
för/>
för
för />

för AjaxControlToolkit”” för namespace= " för
"” för assembly= "” för namespace= " System.Web.UI.WebControls” för tagPrefix= " asp för
” för assembly= "” för 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 AjaxControlToolkit assembly= tagPrefix= " ajaxToolkit”/>


som en delar upp, möjliggör konfiguration
av säkerhetslegitimationsfunktionsläget som används av
ASP.NET för att identifiera en inkomma användare.
för timeout= " 480 "        --
" riktig " er>
" bildar " timeout= " för loginUrl= " login.aspx för för >
540”” protection= " för name=” .authCookie all” path=”/” " users= för/>
för users= för
för/>

" för slidingExpiration= " riktig " cookieless= " UseCookies "



" 540 * "


" [det avskilda kommat listar av roller], ”
” [det avskilda kommat listar av användare],”
" [det avskilda kommat listar av roller], ”/> --mode= " RemoteOnly” för för >

defaultRedirect= " GenericErrorPage.htm "
" 403” redirect= " NoAccess.htm”
" 404” redirect= " FileNotFound.htm” för/>

för
för
för path= " *.asmx” *” för validate= ". ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” " för
type= " System.Web.Script.Services” för validate= " för *_AppService.axd” för path= * falsk”. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, Validate= "” för type= "” för path= " ScriptResource.axd” för HUVUDET” för verb= " för
för PublicKeyToken=31BF3856AD364E35 FÅ, System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 falsk” för ScriptModule för name= för
för/>

" enabled= "” för defaultProvider= " MyXmlSiteMapProvider för

” type= " System.Web.Handlers.ScriptModule, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 true " MyXmlSiteMapProvider” för name= för
för >
description= " den SiteMap familjeförsörjaren som läser .sitemap sparar in.”, type= " System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d
för/>




"; cs; csharp " extension= " .cs " warningLevel= " 4 " type= " Microsoft.CSharp.CSharpCodeProvider, system, Version= 2.0.0.0, Culture=neutral, för WarnAsError " " för name= " för
" för name= " för
för PublicKeyToken=b77a5c561934e089 CompilerVersion " value= " v3.5 vb " för language= för

value= " falsk; vbs; visualbasic; warningLevel= " " för extension= " .vb för vbscript " 4 för CompilerVersion " för name= för
" " för type= " Microsoft.VisualBasic.VBCodeProvider, systemet, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 OptionInfer " " för name= för
" value= " v3.5 value= " true " för
" WarnAsError " value= " falsk "/>



som system.webServerna delar upp, krävs för spring ASP.NET AJAX under Internet
information servar 7.0.  Det är inte nödvändigt för föregående version av IIS.
    --för iguration= för >

för ScriptModule " för name= för
för name= " för
för/>
" falsk " ScriptModule " för ScriptHandlerFactory " för name= för
för name= " för
för name= " för
för name= " för
för/>

preCondition= type= " System.Web.Handlers.ScriptModule, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, för/>
s/>AppService ScriptHandlerFactoryrated/>tory-Integ64E35 PublicKeyToken=31BF3856AD3er " managedHandlde " type= " System.Web.Script.Services för preCondition= " " för *.asmx " för path= verb= " * ". ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral PublicKeyToken=31BF3856AD364E35 " " för
" för ScriptHandlerFactoryAppServices integratedMode " type= " System.Web.Script.Services " för preCondition= " för *_AppService.axd " för path= verb= " *. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 " " för
" för ScriptResource integratedMode " verb= preCondition= " FÅR, urn för
för HUVUD" path=" ScriptResource.axd " type= " System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 "/>


": schemas-microsoft-com: asm.v1 " name= " System.Web.Extensions " för
för >
publicKeyToken= " 31bf3856ad364e35 0 " " för/>
newVersion= " 3.5.0.0 " name= " System.Web.Extensions.Design " för
för/>

publicKeyToken= " 31bf3856ad364e35
- 1.1.0.0 " newVersion= " 3.5.0.0 "



" true " för ConnectionString för key= för
för >
" server=AVC " value= "; database=NNN; uid=User; pwd=user key= " ActiveDirectoryConn " value= " LDAP " för/>

et " för ConnectionString för name= för
för/>


" server=AVC " value= "; database=NNN; uid=User; adPath för

för handtag btnLogin.Click

för btnLogin_Click för/>









LOGIN.VB

Protected för pwd=user under(den ByVal avsändaren som anmärker, ByVal e som " System.EventArgs) dunkel som stränger = ”LDAP: //DC=cool dunkel adAuth för DC=net "
som ny
Try
för SITE.LDAPAuthentication (adPath), om riktigt = adAuth.IsAuthenticated (txtDomain.Text, txtusername. Text txtPassword.Text) Then

'får
för användareroller dunkla grupper som stränger =

för adAuth.GetGroups () 'skapar etikettera och tillfogar det dunkla isCookiePersistent för groups.
som Boolean = dunkel authTicket för chkPersist.Checked
, som ny FormsAuthenticationTicket (1, txtUsername.Text, DateTime.Now, DateTime.Now.AddHours (12), isCookiePersistent , grupper)

'kodar den dunkla encryptedTicketen för ticket.
som stränger =

för FormsAuthentication.Encrypt (authTicket) 'skapar a kakan, och tillfogar därefter som kodas, etiketterar till kakan som dunkel authCookie för data.
som nya HttpCookie (FormsAuthentication. FormsCookieName,

för encryptedTicket) ', om ChkPersist kontrolleras 'för att webbläsare för att skriva kakaförfallodagtiden måste att vara fastställd
”inte förväxlar FormsAuthenticationTicket.Expire med kakan förfaller tid
, om riktiga = isCookiePersistent Then
authCookie.Expires = authTicket.Expiration
avslutar If

”tillfogar kakan till de utgå kakorna collection.
HttpContext.Current.Response. Cookies.Add (authCookie)


”du kan omdirigera now.
”Response.Redirect (FormsAuthentication.GetRedirectUrl (txtUsername.Text som, är falsk))
Response.Redirect (FormsAuthentication.GetRedirectUrl (txtUsername.Text, chkPersist.Checked))

Else
”för Response.Redirect (”default.aspx”) errorLabel.Text = ”legitimation lyckades inte. Kontrollera den kända användaren och lösenordet. Se till att dina lock att låsa på ditt skriva är av. ”
avslutar If
fångar före detta som Exception
errorLabel.Text = ”att legitimera för fel. ” + före detta. Message
avslutar Try



avslutar den Sub



GLOBAL.ASAX

<%@ applikationen Language= " VB " den runat=" serveren "
för %>






LDAPAuthentication.VB

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


Namespace SITE

klassificerar LDAPAuthentication
privat _path som String
privat _filterAttribute som String

offentligt undernytt(ByVal bana som stränger) _path för
= path
avslutar Sub

allmänhet fungerar IsAuthenticated (det ByVal området som stränger, ByVal username som stränger, ByVal pwd som stränger) som Boolean

dunkel domainAndUsername som stränger = området +” \ ”+ det dunkla tillträdeet för username
som ny (_path, domainAndUsername, pwd) den Try
/>
'röran till infödingen AdsObject som tvingar dunkel obj för authentication.
som, anmärker = det dunkla sökandet för entry.NativeObject

som ny DirectorySearcher (tillträde)

search.SearchScope = sökandet för SearchScope.Subtree
. Filtrera =” (CN= " + username + ”) ”

',sAMAccountName = namnger.  Den kända gammala inloggningen för NT 4.0, måste vara unik i området.  Kan vara förvirrat med CN. sökande för
. Filtrera =” (SAMAccountName= " + username + ”) ”resultatet för
för
search.PropertiesToLoad.Add (”cn”) det dunkla som SearchResult = för search.FindOne ()

, om resultatet är ingenting Then
som återgång False
avslutar If

'den nya banan till användaren i _pathen = resultat för directory.
. Path
_filterAttribute = DirectCast (resultat. Properties (”cn”) (0), stränger)
fångar före detta som kast ny System.Exception (”legitimerande användare för System.Exception
för fel. ” + före detta.
för meddelandet) avslutar Try

som återgång True
avslutar Function

allmänhet fungerar GetGroups () som String

det dunkla sökandet som nytt sökande för DirectorySearcher (_path)
. Filtrera = ”(cn=” & _filterAttribute &”) ”/>



”för sAMAccountname” ”för memberOf”) groupNames för/>
d search.PropertiesToLoad.Ad 'för search.PropertiesToLoad.Add () dunkla som nytt resultat för

Try
för System.Text.StringBuilder () dunkelt som SearchResult = propertyCount för
för search.FindOne () dunkel som heltal = resultat. Rekvisita (”memberOf”). Count
dunkel dn som String
dunkel equalsIndex som heltalet, commaIndex som Integer

dunkel propertyCounter som heltalet = 0
fördriver propertyCounter < propertyCount
dn = DirectCast (resultat. Properties (”memberOf”) (propertyCounter), stränger) equalsIndex för
= commaIndex för
för dn.IndexOf (”=”, 1) =
för dn.IndexOf (”, ”, 1), om -1 = equalsIndex Then
återgång Nothing
avslutar If
groupNames.Append (dn. Substring ((equalsIndex + 1), (commaIndex - equalsIndex) - 1))
groupNames.Append (”,|”)
System.Math.Max (System.Threading. Interlocked. Increment (propertyCounter), propertyCounter - 1)
avslutar While
fångar före detta som det Exception
kast ny System.Exception (”felet som erhåller gruppen, namnger. ” + före detta.
för meddelandet) avslutar Try
som återgång
för groupNames.ToString () avslutar Function
avslutar Class
End Namespace
" klar "

Svar : Avkänn den statliga frånslagningstiden för perioden

Varför inte gör du precis ändring ditt SessionState funktionsläge till ”StateServer”.  Du kan har en utfärda med applikation slår samman återvinning och i InProc, om det händer, både den statliga perioden, och den processaa asp.net arbetaren återanvänds.  I SessionState den periodstråd- och asp.net arbetartråden avskiljs, och, om den återanvänder, den påverkar endast arbetartråden.  Kontrollera den nedanföra anknyta, på något sätt.

= " riktig "/>  

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

Glöm inte att aktivera statlig ASP.NET servar.

Du kan utföra den i en VS2008 befaller med denna befaller precis

förtjäna startaspnet_state

Andra lösningar  
 
programming4us programming4us