Pergunta : Detetar o intervalo de parada do estado da sessão

Os caros peritos,

I têm uma aplicação web do aspx que exija para funcionar mais de 8 horas sem refrescam ou logout.  Por favor nenhuma ligação mas eu gostaria de saber o código de algum VB.NET ou o intervalo de parada de sessão do Javascript que advertem o certificado emergente que diz: “Não houve nenhuma atividade por alguma hora. Estalar “APROVADO” se você deseja continuar sua sessão, ou clique “cancelamento” para logout. Para sua segurança se você é incapaz de responder a esta mensagem dentro de 2 minutos você estará registrado para fora automaticamente” e reorienta a login.aspx depois que o intervalo de parada expira. o

I tem feito este por 2 dias sem nenhum sucesso, igualmente mim gostaria de você podia considerar meu código abaixo:  web.config, global.asax, login.vb para sua revisão e sua ajuda são realmente muito apreciativos.  Thanks.

WEB.CONFIG


: Como uma alternativa à mão que edita esta lima você pode usar a ferramenta do admin da correia fotorreceptora do
para configurar ajustes para sua aplicação. Use
a opção de configuração de Website->Asp.Net na lista cheia visual de Studio.
A de ajustes e de comentários pode ser encontrado nos ments do
machine.config.com situados geralmente no
\ Windows \ Microsoft.Net \ Framework \ v2.x \
dos Config--name= " system.web.extensions” type= " System.Web.Configuration do
do >

. SystemWebExtensionsSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, type= do " scripting” " System.Web.Configuration do name= " do
de PublicKeyToken=31BF3856AD364E35. ScriptingSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, scriptResourceHandler” type= " System.Web.Configuration do name= " do

de PublicKeyToken=31BF3856AD364E35 do ". ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, webServices falsos” type= " System.Web.Configuration do name= " do
do” requirePermission= " de PublicKeyToken=31BF3856AD364E35” allowDefinition= " MachineToApplication de”. ScriptingWebServicesSectionGroup, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, jsonSerialization” type= " System.Web.Configuration do name= " do

de PublicKeyToken=31BF3856AD364E35 do ". ScriptingJsonSerializationSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, profileService falso” type= " System.Web.Configuration do name= " do

do” requirePermission= " de PublicKeyToken=31BF3856AD364E35” allowDefinition= " Everywhere de”. ScriptingProfileServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, authenticationService” type= " System.Web.Configuration do name= " do

do” requirePermission= " de PublicKeyToken=31BF3856AD364E35” allowDefinition= " MachineToApplication de”. ScriptingAuthenticationServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, allowDefinition= falso " MachineToApplication de” name= do” requirePermission= " de PublicKeyToken=31BF3856AD364E35” do

"roleService” type= " System.Web.Configuration. ScriptingRoleServiceSection, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, requirePermission= allowDefinition= " falso” " MachineToApplication”/>




64E35”/>
-->

dos
" verdadeiro” para introduzir símbolos do
da eliminação de erros na página compilada. Porque este
afeta o desempenho, ajustar este valor para retificar somente o
durante opções de development.

Visual Basic: Strict= ajustado do
" verdadeiro” para recusar todo o tipo
dos dados das conversões onde a perda dos dados pode ocorrer. Explicit= ajustado do
" verdadeiro” para forçar a declaração de todo o variables.
        --batchTimeout= " 43200 defaultLanguage= " verdadeiro” " VB” numRecompilesBeforeAppRestart= " do
do debug=” do explicit= " 15 assembly= " falso " " System.Core do
do
do >
” do strict=, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089” assembly= " System.Web.Extensions do
, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” assembly= " System.Data.DataSetExtensions do
, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089” assembly= " System.Web.Extensions do
. Design, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 de” assembly= " System.Design do
, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A de” assembly= " System.Windows.F
/>orms, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089 de” assembly= " System.Drawing.Design do
, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A de” assembly= " Microsoft.Office.Interop.Excel do
, Version= 11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c de” assembly= " System.Xml do />
, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089 de” assembly= " System.DirectoryServices do
, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A de” assembly= " System.DirectoryServices.Protocols do
, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A de” assembly= " System.ServiceProcess do />
, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A de” assembly= " System.Web.RegularExpressi/>
/>ons, Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A de” escritório do assembly= do
", Version= 11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c de” acessibilidade do assembly= do
", Version= 2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A de” assembly= " CrystalDecisions.CrystalReports do
. Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 de” assembly= " CrystalDecisions.Enterprise.Framework do
, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 de” assembly= " CrystalDecisions.ReportAppServer.ClientDoc do
, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 de” assembly= " CrystalDecisions.Shared do
, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304 de” assembly= " CrystalDecisions.Enterprise.InfoStore do
, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521.ReportSource do
, Version=10.5.3700.0, Culture=neutral, de” assembly= " Microsoft.Office.Tools.Excel.v9.0 do
, Version= 9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A/>e1304 PublicKeyToken=692fbea5521e1304 PublicKeyToken=692fbea5521e1304 de” do namespace=
sistema de” namespace= " System.Collections de” namespace= " System.Collections/>
" do
/>

do
do
. Generic de” namespace= " System.Collections do
. Specialized de” namespace= " System.Configuration de” namespace= " System.Text de” namespace= " System.Text.Reg
do
do
/>ularExpressions de” namespace= " System.Linq de” namespace= " System.Xml.Linq de” namespace= " System.Xml de” namespace= " System.Web de” namespace= " System.Web.Caching de” namespace= " System.Web.SessionState de” namespace= " System.Web.Security de” namespace= " System.Web.Profile de” namespace= " System.Web.UI de” namespace= " System.Web.UI.WebControls de” namespace= " System.Web.UI.WebControls.WebParts do " namespace= " System.Web.UI.HtmlControls de” namespace= " System.DiretoryServices do " tagPrefix= " asp do
do
do
do
do
do
do
do
do
do
do
do />
do
do
/>

tagPrefix= " ajaxToolkit”/>


it” do” assembly= " de AjaxControlToolkit do namespace= " do
do” assembly= " System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 de” do” namespace= " System.Web.UI.WebControls do tagPrefix= " asp do
do” assembly= " System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 de” do” namespace= " System.Web.UI/> a seção do permite o
da configuração da modalidade da autenticação da segurança usada pelo
ASP.NET para identificar um novo usuário.
do timeout= " 480 "        --o enabled= do
mode= " verdadeiro " do er>
" dá forma " ao timeout= " do loginUrl= " login.aspx dos do >
540” protection= "” do name=” .authCookie todo o”” do path=/" users= "
do users= do
de/>

"” do slidingExpiration= cookieless= " UseCookies " timeout= do



" 540 *? “/>

do
de/>
de/>
--mode= " RemoteOnly” dos do >

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

do
do rvices” do verb= " do
” do path= " *.asmx” *” do validate=. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35 de” type= falso " System.Web.Script.Services do” validate= " " de *_AppService.axd do” path= do verb= " do
*”. ScriptHandlerFactory, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, Validate= enabled= " falso de” " do” type= " System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35” do” path= " ScriptResource.axd da CABEÇA do verb= " do
de PublicKeyToken=31BF3856AD364E35 de” COMEÇ, do defaultProvider= " MyXmlSiteMapProvider do

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

retificam do " description= " fornecedor de MyXmlSiteMapProvider o” do name= " do
>
de SiteMap que lê dentro limas 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 do language= do

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




/> a seção de system.webServer é exigido funcionando ASP.NET AJAX sob os serviços de informação 7.0 de Internet
.  Não é necessário para a versão anterior de IIS.
    --integratedMode " type= " System.Web.Script.Services " do preCondition= " de " *.asmx " do path= " do verb= " ScriptHandlerFactory do name= de " do
do name= " do
do name= " do
do name= " do
de/>

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

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


" do " path= " da CABEÇA de " ScriptResource.axd o " type= " System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version= 3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35: esquemas-microsoft-com: o asm.v1 do " o name= " System.Web.Extensions o " do
>
publicKeyToken= " 31bf3856ad364e35 de " oldVersion= " 1.0.0.0 do
- 1.1.0.0 " newVersion= " 3.5.0.0 de " o name= " System.Web.Extensions.Design o " do
/>

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



" retifica do " o server=AVC do " value= " " de ConnectionString do key= do
>
; database=NNN; uid=User; pwd=user de " key= " ActiveDirectoryConn " value= " LDAP/>

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


; database=NNN; uid=User; o

dos punhos btnLogin.Click

do btnLogin_Click/>









LOGIN.VB

Protected do pwd=user de " (remetente de ByVal como o objeto, ByVal e como System.EventArgs) escurece o adPath como a corda = “LDAP: //DC=cool,
de DC=net " escurecem o adAuth como o
Try
de SITE.LDAPAuthentication (adPath) se verdadeiro = adAuth.IsAuthenticated (txtDomain.Text, txtusername. O texto, txtPassword.Text) Then

'começ ao
dos papéis de usuário grupos não ofuscantes como a corda = o

de adAuth.GetGroups () 'criam o bilhete, e adiciona o isCookiePersistent não ofuscante de groups.
como bôoleano = authTicket não ofuscante de chkPersist.Checked
enquanto 12), isCookiePersistent, grupos) o

de FormsAuthenticationTicket (1, txtUsername.Text, DateTime.Now, DateTime.Now.AddHours ('cifra o encryptedTicket não ofuscante de ticket.
enquanto o

da corda = do FormsAuthentication.Encrypt (authTicket) 'cria a o bolinho, e adiciona então o bilhete cifrado ao bolinho como o authCookie não ofuscante de data.
como HttpCookie novo (FormsAuthentication. FormsCookieName,

do encryptedTicket) 'se ChkPersist está verific 'para que o navegador escreva o tempo da expiração do bolinho tem que ser o
“não confunde FormsAuthenticationTicket.Expire com o bolinho expira o
do tempo se Then
extremidade If

de authCookie.Expires = de authTicket.Expiration
“adiciona o bolinho aos bolinhos que parte collection.
HttpContext.Current.Response. O


de Cookies.Add (authCookie) “você pode reorientar now.
“Response.Redirect (FormsAuthentication.GetRedirectUrl (txtUsername.Text, falso))
Response.Redirect (FormsAuthentication.GetRedirectUrl (txtUsername.Text, chkPersist.Checked))o
de “
Else
Response.Redirect (“default.aspx”) errorLabel.Text = “autenticação não sucedeu. Verific o nome e a senha de usuário. Certificar-se que seu fechamento de tampões em seu teclado está. do “prendedor de If
do fim
ex como Exception
errorLabel.Text = “autenticação do erro. ” + ex. Aplicação Language= " VB " código de Sub



GLOBAL.ASAX

<%@ do fim do
de Try


do fim de Message
do
do " usuário " do runat= de %>






LDAPAuthentication.VB

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


Namespace SITE

de Sub
do fim do
do
do principal

como o _filterAttribute confidencial de String
como novo secundário público de String

(Trajeto de ByVal como a corda) o _path do
= a função pública IsAuthenticated de Sub

do fim do path
(domínio de ByVal como o username da corda, do ByVal como o pwd da corda, do ByVal como a corda) como Boolean

escurecem o domainAndUsername como a corda = o domínio +” \ “+ entrada não ofuscante do username
enquanto (_path, domainAndUsername, pwd) o ligamento de Try
/>
novo 'ao AdsObject nativo para forçar authentication.
escurece o obj como o objeto = a busca não ofuscante de entry.NativeObject

como o

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

' = nome.  O nome de início de uma sessão velho do NT 4.0, deve ser original no domínio.  Pode ser confundido com a NC. busca do
. O filtro =” (SAMAccountName= " + username + ") do “o

search.PropertiesToLoad.Add (“NC”) escurece o resultado como o

de SearchResult = de search.FindOne () se o resultado não é nada Then

False
/> do retorno 'o trajeto novo ao usuário no _path = no resultado de directory.
. _filterAttribute de Path
= DirectCast (resultado. Prendedor do
de Properties (“NC”) (0), de corda) ex como o lance System.Exception novo de System.Exception
(do “usuário de autenticação erro. ” + ex. A função pública do retorno GetGroups de Function

do fim de Try

True
do fim do
da mensagem) () como String

escurece a busca enquanto busca nova do
de DirectorySearcher (_path). O filtro = “(cn=” & _filterAttribute & ") “(““o


do sAMAccountname” do memberOf”) de/>
d search.PropertiesToLoad.Ad
'de search.PropertiesToLoad.Add () escurece groupNames como o resultado não ofuscante novo do

Try
de System.Text.StringBuilder () como SearchResult = o propertyCount não ofuscante do
de search.FindOne () como o inteiro = o resultado. Propriedades (“memberOf”). Count
escurecer o dn como o equalsIndex não ofuscante de String
como o inteiro, commaIndex como Integer

escurece o propertyCounter como o inteiro = o 0
quando propertyCounter < propertyCount
dn = DirectCast (resultado. equalsIndex do
de Properties (“memberOf”) (propertyCounter), de corda) = commaIndex do
de dn.IndexOf (“=”, 1) =
de dn.IndexOf (”, “, 1) se -1 = extremidade do retorno If
groupNames.Append de Then
Nothing
do equalsIndex (dn. Substring ((equalsIndex + 1), (commaIndex - equalsIndex) - 1))
groupNames.Append (“|")
System.Math.Max (System.Threading. Interlocked. Increment (propertyCounter), propertyCounter - 1) prendedor de While
do fim do
ex como o lance System.Exception novo de Exception
(“erro que obtem nomes de grupo. ” + ex. Extremidade do retorno Class
End Namespace
de Function
do fim do
de Try
groupNames.ToString do fim do
da mensagem) () class= do

Resposta : Detetar o intervalo de parada do estado da sessão

Porque não faz você apenas mudança sua modalidade de SessionState a “StateServer”.  Você pôde ter uma edição com a associação da aplicação que recicl e em InProc se aquele acontece, estado da sessão e processo do trabalhador de asp.net recicl.  Em SessionState, a linha da linha da sessão e do trabalhador de asp.net é separada e se recicl, afeta somente a linha do trabalhador.  Em todo o caso, verific a ligação abaixo.

=/> " verdadeiro "  

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

Não esquecer ativar o serviço de estado de ASP.NET.

Você pode executá-lo em um alerta de comando VS2008 com este comando

aspnet_state líquido do começo

Outras soluções  
 
programming4us programming4us