重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
超时设置可通过session的[get|set]MaxInactiveInterval方法实现。如:
创新互联公司服务项目包括宣化网站建设、宣化网站制作、宣化网页制作以及宣化网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,宣化网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到宣化省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
session
.setMaxInactiveInterval(600);
就是设定session的有效期为10分钟。
我知道session是存在在服务器的由私人所有的,cookie是存在客户端的由私人所有的,servletcontext是存在服务器端集体共享的。不明白会出现什么问题。
你获取系统时间就是了,然后在你的系统里进行分支控制。
如果你怕盗版修改系统时间来使用你的系统,那你就获取网络时间,不过得要求客户服务器联网。你也可以从客户安装之后开始计时,不过这个不合适,只要重启应用系统的话你的计时就失效了。
在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现。 Future接口是Java标准API的一部分,在java.util.concurrent包中。Future接口是Java线程Future模式的实现,可以来进行异步计算。
Future模式可以这样来描述:我有一个任务,提交给了Future,Future替我完成这个任务。期间我自己可以去做任何想做的事情。一段时间之后,我就便可以从Future那儿取出结果。就相当于下了一张订货单,一段时间后可以拿着提订单来提货,这期间可以干别的任何事情。其中Future 接口就是订货单,真正处理订单的是Executor类,它根据Future接口的要求来生产产品。
Future接口提供方法来检测任务是否被执行完,等待任务执行完获得结果,也可以设置任务执行的超时时间。这个设置超时的方法就是实现Java程序执行超时的关键。
程序开始时开始计时,
有个long
time1
=
System。getCurrent()什么的方法吧,
毫秒的
程序结束之前再执行下
long
time2
=
System。getCurrent()
那么你的程序运行时间就是time2-time1
WebService超时设置
1. 服务器端设置超时
在 web.config 的 system.web 里添加如下配置项:
httpRuntime
executionTimeout="30"
/
以上时间单位是秒.
记得要把 web.config 的 debug 模式关闭:
compilation
defaultLanguage="c#"
debug="false"
/
2. 客户端设置超时
在 WebService 的客户端代理程序(用 wsdl.exe 生成)里设置 Request 超时时间, 单位是毫秒:
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest wr = (HttpWebRequest)base.GetWebRequest( uri );
wr.Timeout = 30*1000;
return wr;
}
public static int getWorkDays(Date begin,Date end){
Calendar calendar = Calendar.getInstance();
int sum = 0;
calendar.setTime(begin);
while(calendar.getTime().before(end)){
int t = calendar.get(Calendar.DAY_OF_WEEK);
if(t != Calendar.SUNDAY t != Calendar.SATURDAY){
sum ++;
}
calendar.add(Calendar.DAY_OF_YEAR, 1);
}
return sum;
}
这只是个方法,你传入开始日期和结束日期返回工作日的天数。
你把这个方法放到需要使用的地方,然后在该class上面加上
import java.util.Calendar;
import java.util.Date;