首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Global.asax中获取Session的注意事项

几年前给朋友珠宝公司开发过一套旺财珠宝库存管理系统,用得还是web Form老技术,但是更多的走Ashx+Ajax,但前端可是HTML5+jQuery+BootStrap等新技术,所以不论功能还是用户体验,都能很完美的满足用户要求(用户才不管你用的是什么技术,先进的和古老的都必须解决他的问题,然后还需要好用)。近期特别反馈说有些页面比较慢,我觉得用了几年了,数据库就近2个G了,可能是数据库查询的问题,也可能是程序执行的问题,也可能用户网络问题。数据库可以在服务器上用Sql Server Profiler进行查询分析,但页面上还得做点跟踪。于是就用Global.asax来实现,本来很方便的,但为了获取当前登录用户,需要在Global.asax中获取Session,花了点时间才搞定,记录下来分享一下。

02
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    谷歌开发者工具基础培训后疑问分享

    一、F12是不是抓包工具?感觉和抓包工具差不多? 答:f12跟抓包工具charles两者进行对比来讲,都是属于抓包工具,具有抓包工具,只是面对的的对象不一样,开发者工具面对的是web浏览器,而charles面对的是web,app均可,由于涉及的对象不一样,所具体的功能特性也不一样,但从功能的丰富性charles的功能会比较大强大;两者的工具的使用主要根据测试对象来选择’ 二、F12是接口工具? 答:非接口工具,是调试工具,不具有接口测试功能,可以跟postman配合使用 三、如何用它来简单排查前端问题? 答:通过抓包数据和性能加载两个角度来判断是否是前端问题,如抓包数据以后,发现返回的数据是对的,但前端展示不对,就属于前端问题;在开发者工具里面通过性能模块进行测试,发现的问题,基本都是前端问题; 详细如下: JavaScript 错误排查:控制台可以显示页面上的 JavaScript 错误,测试人员可以点击错误信息查看错误详情,从而快速定位问题所在,并进行修复。 网络请求排查:控制台可以显示页面上的网络请求,测试人员可以查看请求状态、请求时间、请求头和响应信息等,从而判断是否存在网络请求问题。 DOM 操作排查:控制台可以让测试人员直接操作页面上的 DOM 元素,例如修改元素属性、添加或删除元素等,从而检查页面是否存在 DOM 操作问题。 性能优化排查:控制台可以显示页面的性能指标,例如加载时间、资源大小、资源加载顺序等,测试人员可以从中发现性能瓶颈,并进行优化。 四、能不能概括几种常见的测试使用F12的情况? 答:seo测试,前端文字多少显示问题,元素布局,样式,交互,需要在元素模块进行测试 页面加载,返回格式错误,返回图片大小问题,不同网络页面加载测试,跨域,缓存测试,需要在网络模块进行测试 内存模块的内存泄露; 检查不同网站的兼容性测试 具体查看以下常识介绍 五、测试的过程中如何从F12中去寻找问题出现在哪里? 答:通过打开console的日志,可定位问题;源码模块的源码提示也可以定位问题 六、能否介绍网络面板的使用? 一、模拟不同网络环境,从而进行网络性能测试。步骤: 打开谷歌开发者工具,切换到 "网络" 面板。 点击 "禁/停用缓存" 以确保每次请求都是新的请求。 在工具栏上找到 "网络条件",点击 "未选择网络条件/已停用节流模式" 选择要模拟的网络类型,例如 "Slow 3G" 或 "Offline"。 刷新页面或者重新加载资源,测试页面在不同网络情况下的性能表现。 二、分析网络请求 最简单的就是抓包了,这个具体培训的操作中已讲

    02

    .NET 页面生命周期

    1. Start 在这个阶段,页面属性,比如Request, Response, IsPostBack和UICulture 被创建。最为一个开发人员,大部分时候在这个阶段你不需要做任何事。如果你需要调用或者重写(override)这一阶段的行为,可以使用PreInit方法创建或者重新创建动态控件,设置master page或者theme或者读取和设置profile property的值。要注意的一点是,如果是回传(postback)的页面请求,所有控件的值还没有从view state里还原,如果你在这个阶段设置一个控件的值,这个值有可能在下面的阶段被重写并覆盖 2. Initialize 这个阶段对于开发人员是很重要。在这个阶段,theme被应用,所有的控件都被设置了唯一的ID。开发人员在这个阶段可以调用Init, InitComplete和PreLoad 方法。微软关于这些方法使用的建议如下: Init – 这个事件发生在所有控件被初始化并且皮肤设置也被应用后。使用这个事件来读取控件的初始化值。 InitComplete – 这个事件被Page对象触发,使用这个事件处理那些要求所有初始化工作都完成后才能做的事情。 PreLoad - 如果在页面或者控件进入Load事件前你有什么要处理的,使用这个事件。Page在触发这个事件后,Page就会为自己和所有的控件加载view state并且处理所有Request中的postback数据。 3. Load 这个阶段可能是开发者使用得最多的一个阶段。在这个阶段,所有的控件被viewstate中信息填充并被加载,OnLoad事件被触发。在这个阶段你可以为页面上所有的服务端控件设置属性,得到query strings,建立数据库连接。 4. Validation 如果你的控件要求验证,验证会在这个阶段发生,这个时候你可以检查控件的IsValid属性。跟这个阶段关联的事件是Validate,它有一个可以接受验证字符串群的重载方法(overload method),这个重载方法执行特定控件群的验证。 5. Event Handling 所有服务器端控件的事件处理发生在这个阶段。也就是说Click, SelectedIndexChanged等等这些事件会应用到你的服务器端控件,如果是页面请求是回传(postback)的话,这些事件的处理函数就会被控件触发。这个阶段可以使用的事件如下: LoadComplete – 在这个阶段,页面上所有的控件加载完毕 PreRender – 这里有几个重点,第一:页面对象(page object)会调用每一个控件的EnsureChildControls函数,并最终调用自己的。其次:所有具有DataSourceID的数据绑定控件都会调用自己的DataBind函数。要注意的一点是,PreRender事件会发生在一个页面的每一个控件上。在这个事件的最后,页面和所有控件的 ViewState被存储。 SaveStateComplete – 到这里,ViewState已经存储完毕,如果你有什么操作不需要修改控件但需要修改ViewState的,可以放在SaveStateComplete里面。 6. Render 渲染(Render)实际上不是一个事件,页面对象调用每一个控件的Render方法从而按顺序的输出控件的HTML代码。编写用户自定义控件的开发者对这个阶段最感兴趣了,因为输出用户自定义HTML代码的标准做法就是重写Render方法。如果你的控件是从ASP.NET服务器端控件继承来的,你也许不需要重写Render方法,除非你想呈现一个与用户控件默认行为不同的行为。这些都超出这个文档要讨论的范围了,如果想了解更多,请参考 Microsoft's Developing Custom ASP.NET Server Controls. ( http://msdn2.microsoft./zt27com/en-us/librarytfhy.aspx) 7. Unload 最后这个事件首先是被各个控件逐一触发,最后被页面触发。在这个时刻,所有的控件已经被渲染为输出流(output stream)并且无法被修改。这个阶段中,任何试图对response stream的操作都会引发异常。这个事件主要用于做一些清理工作,比如关闭数据库连接和打开的文件或者登记事件记录等等其它任务。 页面周期中都有哪些方法 下面列出ASP.NET页面生命周期中所有的方法,这些方法都可以被重写(override),要注意的是这些方法有的会递归调用,有个会被页面中的内容重复调用,这个列表是按照页面加载时最通用的顺序排列的。   Construct ProcessRequest FrameworkInitialize InitializeCulture If

    02
    领券