asp.net – IIS多线程
发布时间:2020-12-16 09:46:33 所属栏目:asp.Net 来源:网络整理
导读:我在IIS 7下有一个Web应用程序.有一个带Button1的页面.单击此Button1时,将触发以下方法: string url = "http://example.com";string resultStr = "";HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);HttpWebResponse resp = (HttpWebResponse
我在IIS 7下有一个Web应用程序.有一个带Button1的页面.单击此Button1时,将触发以下方法:
string url = "http://example.com"; string resultStr = ""; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); string encoding = resp.CharacterSet; if (encoding.Equals(String.Empty)) encoding = "UTF-8"; Stream strResponse = resp.GetResponseStream(); int bytesSize = 0,c = 0; byte[] downBuffer = new byte[2048];//2kb while ((bytesSize = strResponse.Read(downBuffer,downBuffer.Length)) > 0) { if (++c > 100) break;//200kb - max downBuffer = Encoding.Convert(Encoding.GetEncoding(encoding),Encoding.UTF8,downBuffer); string tempString = Encoding.UTF8.GetString(downBuffer,bytesSize); resultStr += tempString; } strResponse.Close(); TextBox1.Text = resultStr; 如您所见,TextBox1将包含远程页面的html代码. 有一个问题:当这个方法运行时我无法加载其他页面!如何解决这个问题呢? 我知道有一个存储应用程序线程的应用程序池,所以服务器可以同时处理多个线程…但它不适用于我.为什么? 解决方法
我怀疑你在你的应用程序中使用Session,对吗?会话不是线程安全的.这意味着如果您使用Session,则ASP.NET会锁定整个请求,并且不允许其他请求(来自同一个Session)并行运行.来自同一会话的请求按顺序运行.您可以从不同的会话中并行运行多个请求.
事实上,它比那更微妙. ASP.NET使用ReaderWriterLock来同步对会话对象的访问,这意味着您可以从同一会话中获得2个仅从其中读取的请求并行运行,但只要您具有对会话的写访问权限,它就会阻止来自同一会话的其他并行请求. 您可以使用页面中的EnableSessionState =“ReadOnly”来控制它,以指示它只是从会话中读取,从而允许并行执行请求. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 没有aspx文件扩展名的ASP.NET网页
- ASP.net RequiredFieldValidator VisualStudio 2012
- 当菜单项被禁用时,如何将VS Profiler 2012附加到ASP.NET解决
- asp.net-mvc-4 – ASP.NET帮助页面默认主页?
- asp.net-mvc – 如何调试在Azure中部署的ASPNET核心MVC应用
- 免费ASP.Net和/或CSS主题
- asp.net-mvc – 存在多个获取操作时的MVC API路由
- ASP.NET GridView利用PagerTemplate自定义分页
- asp.net-mvc – 如何将Ninject与HttpClient一起使用
- asp.net-mvc – 如何使用wmd-editor控件检索markdown和html
推荐文章
站长推荐
- asp.net-mvc – 有没有更好的方法来使用MVC 4和E
- asp.net-mvc – asp.net mvc并检查用户是否已登录
- 如何在ASP.Net(MVC)中避免XSS漏洞?
- asp.net – PageMethod和URl重写
- 禁用asp.net缓存
- asp.net – Live Sitecore网站的Git Source Cont
- asp.net-mvc-2 – 我的Asp.Net C#类如何返回一个
- asp.net-mvc – HtmlHelper与Partial的表现
- VS 2015 Update 2 – 调试时不存在变量,为什么?
- T-SQL Enhancement in SQL Server 2005[下篇]
热点阅读