应用 >宠物精灵小游戏 验证信息超时 若反复超时,请尝试开…

.net用session验证身份信息的超时问题
.net用session验证身份信息的超时问题
会员登录的时候,检查了用户名密码后,用session.add("user","用户名");
我在global.ascx里的session_begin写了session.timeout=60,设置60分钟才超时。
为什么有时候不到几分钟就超时了。
住:我用来判断是否有登录的代码是if(session["user"]==null){超时}
session默认的超时时间是20分钟,页面20分钟没有动作就会超时了。可以再webconfig里面进行修改。&sessionState mode= &InProc & cookieless= &false &
timeout= &20 &/&
我已经设置成60分钟,就算是默认20分钟,有时没几分钟也超时了。
asp.net session超时的解决办法 收藏 第一个办法:
我有好办法。并且一直用,感觉很爽。
1、在web.config里面加入:&sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless ="false" timeout="240" stateNetworkTimeout="14400"&&/sessionState&
2、点击电脑左下角 开始-&运行-&输入 services.msc 回车 找到ASP.NET State Service,双击,改成自动,并启用。
其中 stateNetworkTimeout 为 在客户端与服务器之间 多长时间没有传送信息则断开他们之间的连接。我设置的是14400,即:=4小时
缺点:在服务器中用ASP.NET State Service服务存储session。会造成服务器资源的紧张。如果有money的话最好买一台服务器专门做session服务。当然,对于小应用无所谓。做过一个小的日志系统,日志,顾名思意,就是网页长期打开,有事的话就往上面录,运行了一年,没有因为session出过问题。
第二个办法(推荐使用):
1)创建一个文件savesession.js(xhbmj:js最好重写一下以支持更多浏览器,用jquery最好)function createXmlHttpRequest(){&&&&&&&&&&&& try{&&&&&&&& xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); //IE 5.0版本&&&& }&&&& catch(e){&&&&&&&& try{&&&&&&&&&&&& xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE 5.5版本&&&&&&&& }&&&&&&&& catch(e){&&&&&&&&&&&& try{&&&&&&&&&&&&&&&& xmlhttp = new XMLHttpRequest(); //不支持ActiveX空间的浏览器&&&&&&&&&&&& }&&&&&&&&&&&& catch(e){}&&&&&&&& }&&&& }&&&&}
function Reconnect(){&&& var url='reconnect.aspx'&&& xmlHttp=createXmlHttpRequest()&&& xmlHttp.open('GET', url , true)&&& xmlHttp.send(null)//只要求与服务器联系,不要求返回数据,因此,不进行返回处理}
function refreshme(){&setInterval("Reconnect();", 60000); //此时间根据实际情况调整}
2)在需要维持session的页面加上& &script language="javascript" src="savesession.js"&&/script&,在&body&里面加上onload="refreshme();"3)创建reconnect.aspx页面,可以没有内容的任何.aspx页面。
第三个办法:自创
建立一个空页面,设置页面自动刷新,可使用html的定时刷新,cs文件里随便写些东西如:
string str = Session["LoginID"].ToString();//最好加个判断null的判断
把这个页面作为iframe嵌入需要长时间操作的页面,设置iframe的宽高都为0
第一种方法是可以,自己有服务器一般都这样配置。
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号Android·HTTP超时机制 - 其实挺聪明就是反应有点慢 - ITeye技术网站
博客分类:
由于手机端应用的响应,与当时的无线通信网络状况有很大的关联。而通信网络往往具有不稳定,延迟长的特点。所以,在我们的应用程序中,当我们请求网络的时候,超时机制的应用就显得特别重要。
超时机制主要有:
1、HTTP请求超时机制
2、Socket通信超时机制
HTTP请求超时机制
public static void main(String[] args){
long a=System.currentTimeMillis();
URL myurl = new URL(“”);
URLConnection myurlcon = myurl.openConnection();
myurlcon.setConnectTimeout(1000);
myurlcon.setReadTimeout(1000);
BufferedReader in = new BufferedReader(new InputStreamReader(myurlcon.getInputStream(),”UTF-8″));
String inputL
while ((inputLine = in.readLine()) != null){
System.out.println(inputLine);
in.close();
System.out.println(System.currentTimeMillis()-a);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
如果超时 将 抛出 以下 异常
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:606)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:554)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:940)
at com.Test.main(Test.java:52)
补充内容:
在android项目中,如果有用到http请求,就必须也应该加上http请求的超时管理,异常管理,项目中遇到这个需求,google上搜索到了一大堆,但是写的都比较简单,做个demo还行,用在项目中还是不够完善。自己写了一个例子,有不完善之处,欢迎大家指正。
  需要注意的地方:有三个方面
  如何控制超时机制
  如何处理异常
  如何处理请求错误的
private class XmlAsyncLoader extends XmlResourceRequest {
private boolean mIsCancle =
private HttpGet mG
private HttpClient mH
public XmlAsyncLoader(MxActivity&?& activity, String url)
throws MalformedURLException {
super(activity, url);
protected void doTaskInBackground() {
// 请求数据
if (mUrl.toLowerCase().startsWith("http://")) {
mGet = initHttpGet(mUrl);
mHttp = initHttp();
HttpResponse response = mHttp.execute(mGet);
if (mIsCancle) {
if (response != null) {
if(response.getStatusLine().getStatusCode()!=HttpStatus.SC_OK){
onResponseError("network error");
Log.v(TAG, "the code is :"+response.getStatusLine().getStatusCode());
notifyUpdateProgress(70);
Document doc = getDocumet(response);
Element root = doc.getDocumentElement();
NodeList appList = root
.getElementsByTagName(Item_ELEMENT_NAME);
final int len = appList.getLength();
if (len &= 0) {// 没有items
onFoundNoItems();
for (int i = 0; i & i++) {
Element item = (Element) appList.item(i);
if (item.getNodeType() == Node.ELEMENT_NODE) {
HahaItemInfo info = createHahaItemIno(item);
if (mIsCancle){
onFoundItem(info, 80 + 20 * (i + 1) / len);
addUrlToQueue(info.userIconUrl);
}catch(ConnectTimeoutException e){
onResponseError("time out");
} catch (ClientProtocolException e) {
--mCurrentP
e.printStackTrace();
} catch (IOException e) {
--mCurrentP
e.printStackTrace();
} catch (XmlPullParserException e) {
--mCurrentP
e.printStackTrace();
notifyLoadFinish();
notifyLoadImages();
mHttp.getConnectionManager().shutdown();
private HttpClient initHttp() {
HttpClient client = new DefaultHttpClient();
client.getParams().setIntParameter(
HttpConnectionParams.SO_TIMEOUT, TIME_OUT_DELAY); // 超时设置
client.getParams().setIntParameter(
HttpConnectionParams.CONNECTION_TIMEOUT, TIME_OUT_DELAY);// 连接超时
private HttpGet initHttpGet(String mUrl) {
HttpGet get = new HttpGet(mUrl);
initHeader(get);
public boolean tryCancel() {
Log.i(TAG, "tryCanle is working");
mGet.abort();
mIsCancle =
mHttp.getConnectionManager().shutdown();
notifyLoadFinish();
这是一个异步任务类,发送get请求请求数据,解析服务器的响应数据,同时通知ui线程更新ui
在android中,互联网交互的写法有很多,可以使用apache提供的包,也可以使用google提供的api,我不知道那种更好,只是习惯于使用
apache的api。
1. 设置超时机制
client.getParams().setIntParameter( HttpConnectionParams.SO_TIMEOUT, TIME_OUT_DELAY); // 超时设置 client.getParams().setIntParameter( HttpConnectionParams.CONNECTION_TIMEOUT, TIME_OUT_DELAY);// 连接超时
这里设置了两种超时,第一种是请求超时,第二种时连接超时。
当向服务器发出请求后,请求和服务器建立socket连接,但是很长时间内都没有建立socket连接,这就时第一种请求超时,这种情况主要发生在请求了
一个不存在的服务器。超时之后,会抛出InterruptedIOException异常。
Timeout for blocking operations. The argument value is specified in milliseconds. An InterruptedIOException is thrown if this timeout expires.
客户端已经与服务器建立了socket连接,但是服务器并没有处理客户端的请求,没有相应服务器,这就是第二种连接超时。这中超时会抛出
ConnectTimeoutException异常,ConnectTimeoutException继承自InterruptedIOException,所以只要捕获ConnectTimeoutException 就可以了。
2. 分析一下请求的过程
 2.1 HttpResponse response = mHttp.execute(mGet);
执行请求方法,获取服务器响应,(这里有个不太成熟的看法,response不可能为null,还有待验证)。
2.2 获取请求响应码
if(response.getStatusLine().getStatusCode()!=HttpStatus.SC_OK){ onResponseError("network error"); Log.v(TAG, "the code is :"+response.getStatusLine().getStatusCode()); }
  即使连接上服务器,并且从服务器上获取了数据,也有可能时服务器返回的错误信息,因此也需要特殊处理。
2.3 异常处理
  对于异常,不能简单的捕获就完事,例如上面的代码中,我请求第三页的数据,如果发生异常,请求不成功,那么我就需要让当前页数回滚,
如果成功了就不用回滚了,所以需要对异常进行处理
2.4 finally关键字
  不管是请求成功,还是失败,都需要关闭链接。
浏览 11368
浏览: 275091 次
来自: 上海
[url][url][url][url][url][/url] ...
递归删除指定目录下的.git文件find . -name .g ...
受教了,好像Socket通信超时机制 还没有说吧
此文写的很好!不知道博主有没有遇到这样的问题?delegate ...淘宝开网店手机验证码超时大概过多久才能重新验证_百度知道
淘宝开网店手机验证码超时大概过多久才能重新验证
提问者采纳
一般的情况下一到两分钟,如果手机收不到,重新开机试试,另外想要加盟网店可以私信我。
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
其他类似问题
为您推荐:
开网店的相关知识
其他2条回答
半个多小时就可以了
重新获取就好
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁你们现在还能进游戏麽?我又来这情况!_宠物精灵吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:2,606贴子:
你们现在还能进游戏麽?我又来这情况!
验证信息超时
若反复超时,请尝试开启浏览器的设置
内&&容:使用签名档&&
保存至快速回贴
为兴趣而生,贴吧更懂你。&或

我要回帖

更多关于 宠物精灵小游戏 的文章

 

随机推荐