js访问webservice ,如果开启开启EnableSession=true那么 js访问方法好像就变成同步访问了(一个方法执行阻塞了另一个),如果不开启就可以各顾各的访问,有什么办法在EnableSession=true的情况下也可以同时访问吗?
webservice.asmx
public class WebService1 : System.Web.Services.WebService { ContractsClient proxy = new ContractsClient();
//因为EnableSession=true所以在HelloWord方法先执行后,访问Add(EnableSession也为true)方法不能 马上访问到! [WebMethod(EnableSession=true)] public string HelloWorld() { Thread.Sleep(5000); return Class1.client.Divide(1.0, 1.0).ToString(); } [WebMethod] public string Add() { //return Class1.client.Add(1.0, 1.0).ToString(); return "add"; }
//因为EnableSession没设置所以在Asy方法先执行后,访问Add(EnableSession也不设置)能马上访问到!
[WebMethod]
public string Asy()
{
Thread.Sleep(5000);
return "asy";
/ /return proxy.Asy("test.txt");
}
}
HelloWorld 中也可以开启多个task,来并行运行你的代码的。
这样也是可以加速的访问的。
如果要访问
Session 再开这个吧,还有你的是通过AJAX来访问的吧,按照道理不应该有你这样的问题的。
web的本质本身
就是多线程的。
有这个[WebMethod(EnableSession=true)]就不是多线程了, 没有就是了 你也可以试下
@koi:
你的客户端的调用的代码呢?贴出来看看。