关于asp.net,同一用户,访问同一页面的session问题

问题描述

各位大神好,小人菜鸟一枚,求指教一下目前情况是这样的,详见图片图1为页面A图2为页面B,页面A导入excel成功后,将邮箱整合为datatable并存入session["data"]又或者勾选部分数据后,将邮箱整合为datatable并存入session["data"]页面B解析session["data"]后,根据传过来的邮箱,操作发生邮件的方法;我现在的问题是:如果同一用户,第一次在页面A导入数据后,传到session中发送到页面B,(B还在发送邮件期间),用户又再一次导入另外一份邮件excel数据,并传到页面B,那这样,session里面的数据会混乱吗?如何防止这种情况呢?又或者,不用用户操作这个流程,那session会怎样呢?小弟求指教以下是页面B的处理代码:InfoTableBLLInfoBLL=newInfoTableBLL();publicintIDcount=0;DataTabledatatable;EmailAccountsemailacc=newEmailAccounts();protectedvoidPage_Load(objectsender,EventArgse){stringfilePath=Server.MapPath("EmailAccount.xml");emailacc=InfoBLL.GetEmailAccount(filePath);datatable=(DataTable)Session["emailCount"];IDcount=datatable.Rows.Count;if(!IsPostBack){ViewState["sum"]=datatable.Rows.Count-1;sendlog.Text=DateTime.Now.ToString()+"开始发送邮件!n"+sendlog.Text;count.InnerText=IDcount.ToString();}}protectedvoidTimer1_Tick(objectsender,EventArgse){inti=Convert.ToInt32(ViewState["sum"]);stringsuc=succount.InnerText;stringfal=failcount.InnerText;stringlogs=sendlog.Text;if(i<0){Timer1.Enabled=false;Session["emailCount"]=null;ViewState["sum"]=null;sendlog.Text=DateTime.Now.ToString()+"邮件已发送完毕!n"+sendlog.Text;}else{//sendlog.Text=DateTime.Now.ToString();//获取客户邮箱和ID,发件时间InfoTableinfo=InfoBLL.GetInfoByID(Convert.ToInt32(datatable.Rows[i]["ID"]));info.SendEmailLastTime=DateTime.Now.ToString();//发送邮件//参数加密stringIDs=InfoBLL.Encode(info.ID.ToString(),"Administrator");stringmsg=InfoBLL.SendEmail(emailacc,info.Email,"你好","内容:<ahref='http://192.168.0.3/UploadInfo.aspx?ID="+IDs+"'>点击链接</a>上传图片资料!");//msg发送状态if(msg=="true"){//发送成功,更新数据库发件时间InfoBLL.UpdateEmailTime(info);succount.InnerText=(Convert.ToInt32(succount.InnerText)+1).ToString();sendlog.Text=DateTime.Now.ToString()+""+info.Email+"发送成功!n"+sendlog.Text;}else{failcount.InnerText=(Convert.ToInt32(failcount.InnerText)+1).ToString();sendlog.Text=DateTime.Now.ToString()+""+info.Email+"发送失败!失败原因:"+msg+"n"+sendlog.Text;}}i--;ViewState["sum"]=i;}

解决方案

解决方案二:
能有大神给一下思路吗

时间: 2024-11-30 18:58:54

关于asp.net,同一用户,访问同一页面的session问题的相关文章

课后作业求助,如何访问iframe页面的值?

问题描述 主宿页面如何访问iframe页面的值?cpmanager.aspx:<asp:ButtonID="Button1"runat="server"OnClick="Btn_Add"/><iframeid="iframe"src="addcontactor.aspx"></iframe>addcontactor.aspx:<asp:LableID="N

aso.net传值-html页面如何接收asp.net页面的session值

问题描述 html页面如何接收asp.net页面的session值 这是一个asp.net页面,想要将用户名传到一个html页面并打印出来,求具体代码 解决方案 在你的asp.net里面写 <% =Session["用户名"] %> 解决方案二: ASP.net 关闭页面时清空SessionASP.net 关闭页面时清空Session

ASP.NET实现在不同的子域中Session共享

今天遇到了这个问题,于是研究了一下.要解决这个问题,首先就要明白一些Session的机理.Session在服务器是以散列表形式存在的,我们都知道Session是会话级的,每个用户访问都会生成一个Session.那么服务器是怎么区分不同用户的Session?又是怎么将不同用户的Session与不同的用户绑定的呢?下面我们来研究一下,以下纯属我个人的理解,如有错误请指证. Session在服务器端是以散列表的形式存在的,区分每一个Session是通过SessionID来实现的,所以可以说这个Sess

用ASP让用户访问指定页面

一个网站有许多页面,如果用户知道某个页面的链接,可以在浏览器中直接输入url访问它.但这在一个要求有安全性的站点上是不允许的.我们要求用户必须登录以后才能访问各级页面,有时也确实希望用户总是先看到站点的主页.这两种要求可以通过在asp的global.asa中对session对象编程来实现. 1.用户必须从主页开始浏览 如果仅希望用户每次上站都先访问站点主页,可以在session的session_onstart事件中加入response.redirect "url"来实现.例如在glob

我记和asp.net webforms中可以用mypage.aspx和mypage.mobile.aspx,用户浏览时,可根据浏览器,自动呈现页面的

问题描述 我记和asp.netwebforms(不是MVC)中,可以用mypage.aspx和mypage.mobile.aspx,用户浏览时,可根据浏览器是否是手机还是PC,自动呈现页面的,同时在地址上,页面网址都是mypage.aspx.我以前有见过,但是不知道为什么,在vs2012中,无法实现这个功能了.请各位指点一下. 解决方案 解决方案二:mvc4到是有这个功能,老的这种到从没试过.解决方案三:AnnouncingreleaseofASP.NETandWebTools2012.2Upd

asp判断是否手机用户访问网站

 代码如下 复制代码 if InStr(LCase(Request.ServerVariables("HTTP_ACCEPT")),"text/vnd.wap.wml")>0 then     response.redirect  "wap.asp" '如果是手机访问则跳转到wap.asp     response.end else     response.redirect  "default.asp" '如果电脑访问

ASP.NET系统用户权限设计与实现

摘 要 本文依据RBAC的基本思想,利用ASP.NET中的用户控件技术,设计了在电子商务系统中用户权限控制的一种具体实现方法. 关键词 ASP.NET 角色访问控制 用户控件 引言 电子商务系统对安全问题有较高的要求,传统的访问控制方法DAC(Discretionary Access Control,自主访问控制模型).MAC(Mandatory Access Control,强制访问控制模型)难以满足复杂的企业环境需求.因此,NIST(National Institute of Standar

在主页中利用ASP技术实现用户口令的验证

在主页中利用ASP技术实现用户口令的验证 ---- 大家知道在一般的WEB 站点中,用户的访问是不受限制的,即可以访问WEB 站点上的任何信息,且访问信息的次序是不受限制的. 以http://www.xyz.com为例,用户可以访问 http://www.xyz.com,可以访问http://www.xyz.com/custom.htm.这两页访问的次序没有限制,即可以先访问http://www.xyz.com/custom.htm,也可以先访问 http://www.xyx.com. 这种灵活

ASP.NET保持用户状态的九种选择(上)

asp.net 摘要:ASP.NET为保持用户请求之间的数据提供了多种不同的途径.你可以使用Application对象.cookie.hidden fields.Sessions或Cache对象,以及它们的大量的方法.决定什么时候使用它们有时很困难.本文将介绍了上述的技术,给出了什么时候使用它们的一些指导.尽管这些技术中有些在传统ASP中已经存在,但是有了.NET框架组件后该在什么时候使用它们发生了变化.为了在ASP.NET中保持数据,你需要调整从先前的ASP中处理状态中学习到的知识. 随着We