随笔分类 - [27]NET8
-
调试ASP.NET应用程序Security Token Handle Leak
摘要:问题现象ASP.NET应用程序security token相关的句柄泄露一般都与impersonate机制相关。通常发生了这种问题会导致整个操作系统性能减慢,在系统日志中有可能记录2020错误。Event Type: ErrorEvent Source: SrvEvent Category: NoneEvent ID: 2020Date: 12/24/2008Time: 12:13:31 AMUser: N/AComputer: MYW2K3Description:The server was unable to allocate from the system paged pool beca 阅读全文
-
.NET陷阱之四:事件监听带来的问题与弱监听器
摘要:.NET陷阱之四:事件监听带来的问题与弱监听器大家可能都遇到过没有取消事件监听而带来的一些问题,像内存泄露、访问无效数据等。当我们写下如下代码时:source.StateChanged += observer.SourceStateChangedHandler实际上source会保持有对observer的一个引用,所以如果source的生命期长于observer的话,则当其它地方不引用observer时,如果不显示解除监听,则observer不会被垃圾回收。这可能会带来两个问题:其一,如果observer占用了大量内存的话,则这部分内存不会被释放;其二,程序的其它地方可能已经处于不一致的状态, 阅读全文
-
HttpContext.Current
摘要:HttpContext.Current并非无处在不阅读目录开始无处不在的HttpContextHttpContext.Current到底保存在哪里?HttpContext并非无处不在!如何获取文件绝对路径?异步调用中如何访问HttpContext?安全地使用HttpContext.Current了解ASP.NET的开发人员都知道它有个非常强大的对象 HttpContext,而且为了方便,ASP.NET还为它提供了一个静态属性HttpContext.Current来访问它, 今天的博客打算就从HttpContext.Current说起。回到顶部无处不在的HttpContext由于ASP.NET提 阅读全文
-
异步请求后,浏览器屏蔽打开窗口
摘要:异步请求后,浏览器屏蔽打开窗口,应该要怎么办 之前做支付中心和页游项目的时候,经常碰到一个这样的需求,比如点击一个a标签,产生了一个ajax请求,返回一个url给我,我拿着这个url打开新页面。需求是这样的,看起来按部就班很容易搞定,但是,发现好多浏览器下根本不能新打开窗口(标签)(至少在第一次打开的时候会这样,浏览器屏蔽了,然后说 刚屏蔽了一个打开窗口),因为被浏览器拦截了。百思不得其解,最后只好和产品说明白技术无法实现,改需求:第一次请求后,页面弹出一个温馨提示BOX,用户点击这个BOX上的按钮,我打开上回返回给我的URL。(如果有大神知道此解决方案,欢迎讨论,多多感谢)。 后面做... 阅读全文
-
asp.net 之 服务器端包括指令
摘要:asp.net 之 服务器端包括指令asp.net中的服务端包括指令简单点就是一个<!-- #include file|virtual="filename" –>这样的指令,msdn中的名词解释是:将指定文件的内容插入 ASP.NET 文件中,包括网页(.aspx 文件)、用户控件文件(.ascx 文件)和 Global.asax 文件。插入静态文件这个基本功能就不说了,插入aspx、ascx,这功能算是挺强了,asax哥就有点困惑了,这个暂且不管,今天要说的就是这个指令。尴尬的存在 服务器端包括指令在web的开发技术中肯定是个标配了。asp.net前身asp中 阅读全文
-
asp.net 页面静态化
摘要:asp.net 页面静态化当网站流量变大,网站响应变慢的时候,页面静态化可以简单而且有效的缩短响应时间,大大提高网站的吞吐量,当然我指的是cms这类更新不是很频繁的应用。事实上,在asp.net实现这一点, 是非常简单的。 我们知道,在asp.net中有IhttpModule接口。Ihttpmodule可以简单理解为一个可以在 执行像.aspx,或者mvc中control/action 前,添加我们自定义的操作的东西。(Ihttpmodule详细,可以去Fish li的博客,相当好)我们只需要编写这么一个HttpModule就可以了,当用户第一次请求asp.net处理时, 我们可以在ihttp 阅读全文
-
Calender的使用
摘要:ASP.NET 学习笔记_02 Calender的使用1、介绍(1、在Calender中,所有可选择的符号会显示下划线,这是因为它们在浏览器都会呈现为链接。 如果让用户可以选择某天、月、周,必须设置SelectionMode属性(Day、 DayWeek、DayWeekMonth) (2 控件事件 当用户选择了某一天或者月,可以用OnSelectionChanged来触发 通过 Calendar1.SelectedDate.ToShortDateString();来获取所选择的时间点 通过 Calendar1.SelectedDate.Count.ToStr... 阅读全文
-
ASP.NET 4.0 Webform传统开发模式下如何压缩css, js
摘要:ASP.NET 4.0 Webform传统开发模式下如何压缩css, js网上查了很多压缩css/js的方法,感觉还是用ms自己的简便,其他的虽然功能强大,但是比较复杂,要简单化...在ASP.NET MVC中新建一个Web工程后,那些Bundle功能已经写在代码中了,但是传统的webform工程中怎样使用这个Bundle压缩功能呢?实现步骤如下:1. 新建工程,并且为了演示,我把工程初始化成如下结构2.通过NuGet安装扩展"Microsoft ASP.NET Web Optimization Framework"寻找到“Microsoft ASP.NET Web Opt 阅读全文
-
Ajax无刷新技术实现省市县三级联动下拉菜单--Asp.Net
摘要:Ajax无刷新技术实现省市县三级联动下拉菜单--Asp.Net不废话,先上效果图。开始工作。第一步:准备好数据,中国省市县行政区域编码做好三张表,分别是province表,sity表,area表,上截图:,这三张表,主要有code,和name两个字段,code用来存储区域编码,name用来存储行政区域名字,当然了还有个Id主键,自增长,我们利用code来判断依赖关系。第二步:数据库和表做好之后呢,就可以写代码了,先拖一个ScriptManager控件和一个UpdatePanel控件,这两个控件是用来实现无刷新技术的,非常方便。接着拖3个DropDownList控件,一定要注意,要放在Updat 阅读全文
-
WebForm开发中的路由功能
摘要:WebForm开发中的路由功能前言在System.Web.Routing命名空间中存在着这么一个对象,能够实现传统webform开发下的路由功能:RouteTable,实际上ASP.NET MVC框架也是依赖于此的。本篇就讲讲在传统webform开发中如何实现url rewrite功能(以前要实现这功能,那是相当的…)入题下面以新闻查看为sample,比如,原先传统webform开发,大多是如下的url方式:http://xxxx/newsdetail.aspx?newsId=100,如今,通过路由功能,能很方便的实现转换成SEO友好的方式,如:http://xxxx/news/新闻标题, 对 阅读全文
-
整站通用.Net程序如何防止被注入
摘要:.Net程序如何防止被注入(整站通用)发布时间:2006-03-09 08:00:00来源:作者:点击:193 防止sql注入,通常一个一个文件修改不仅麻烦而且还有漏掉的危险,下面我说一上如何从整个系统防止注入。 做到以下三步,相信的程序将会比较安全了,而且对整个网站的维护也将会变的简单。 一、数据验证类:parameterCheck.cs public class parameterCheck{ public static bool isEmail(string emailString){ return System.Text.RegularExpressions.Regex.IsMatch 阅读全文
-
ASP.NET 4.0新增的初始化方法
摘要:如何在ASP.NET应用程序中初始化阅读目录开始本文用例你没有想到的Global.asax怪事!如何保证初始化异常一直显示?还有哪些初始化方法?App_Code中的AppInitialize方法HttpModule也能执行初始化的任务ASP.NET 4.0新增的初始化方法各种初始化方法的差别到底该选择哪种初始化方法?二条招聘信息每个程序都需要初始化的过程,用来读取配置或者设置一些运行环境(变量),对于ASP.NET程序来说,又该在哪里执行初始化的任务呢?我想应该绝大多数人都知道在Global.asax中执行初始化的过程, 然而有些细节是我们需要关注的。回到顶部本文用例在这篇博客的示例代码中,A 阅读全文
-
ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇
摘要:ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也要感谢大家了,因这个项目我已经上传了,得到了很多网友的评价,也有好多人发邮件给我说这个框架容易出现问题,不能访问,这也是支持我写这个系列的动力,我将这个项目写成一个系列,可能要很长时间吧,但是我肯定会一直坚持,如果我哪里写的不好欢迎大家指出我们共同学习,而且我理解的也不是很透彻,所以我想在写这样一遍博客,后面如果有时间的话我会录制视频,当然,这个完全就是为了自己锻炼口才,大家莫怪呃,现在我们首先来对这个项 阅读全文
-
.net 玩自动化浏览器
摘要:.net 玩自动化浏览器.net 玩自动化浏览器2013-03-21 11:57 by 熬夜的虫子, 788 阅读,1评论,收藏,编辑源码地址https://github.com/dubing/YoukuAutomation背景 标题看似新颖实际上这里的自动化在很大范围内限定在web测试上,和loadrunner测试脚本类似,也都是测试工程师常用的概念。当然作为.net应用,你也可以用在产品演示上。 我使用的背景是在持续集成、每日构建体系中的一个自动化检查模块。 之所以说是30秒,是因为下面要介绍的工程确实简单,但是想精通、从半神到大神其间的差距还是很大了。我只带大家入门。工具 sele... 阅读全文
-
自定义表主键
摘要:asp.net自定义表主键解决方案(附代码Demo实战)概述一般情况下我们在设计表时主键都是自增长的,我们都是采用数据库本身提供的主键自增机制,Sqlserver一般是用IDENTITY(1,1)这个来标识,Oracle一般是用触发器,在大多数应用场景下这些机制基本上是够用的,但是在某些场景下如果需要自定义主键生成机制,例如生成L0000001、010001、000001等这些主键,利用关系数据库本身的机制就满足不了了。这里介绍一种能够灵活定制主键的方式,它主要通过一定的生成机制来生成符合要求的主键,这里拿一个主键值初始化值来介绍:主键初始化值前缀长度备注L0000001L7010001014 阅读全文
-
asp.net对CNMARC
摘要:asp.net对CNMARC数据进行解析(完善版)关于昨天写的对CNMarc解析的程序,仅仅是实现了对根字段的数据提取,并没有实现对子字段的数据提取。昨天写的代码里是用SortedList来存储各个字段对应的文本描述,今天则修改成了用XML保存字段的文本描述,并且把子字段的描述也加了进去。文件有点多,直接打包了,有兴趣的自己下载吧。文件地址:MarcParsingDemo.rar昨天的文章地址:asp.net对CNMARC数据进行解析网上关于CNMARC数据处理的资料太少,而用ASP.net处理的则是少之又少,整整查了一天的资料和文档(其实有大半时间在查啊查),才把这个搞定。最后得到的结论:只 阅读全文
-
自定义单一模块Model类
摘要:初涉电子商务系统开发随想--第一篇-自定义单一模块Model类最近正在参与一个电子商务网站的开发工作,前台似常见的京东,凡客后台涉及到订单的处理,产品的属性设置,厂家的供货商及自己的erp信息的开发与整合,由于之前做的项目业务没有这么广泛,之前大多做的是企业内部的Oa,供应链,知识管理,文件管理,协同办公,爬虫系统等等;所以想记录一些关于本次开发的想法与感悟,供园友们交流学习,一起在电商系统的架构与开发中共同学习与提高,最后目标开发一套电子商务系统代码生成器,以插件的方式开发电子商务系统;1.首先说一下,从企业软件系统转到网站业务开发的一些感想: 企业软件(如供应链)会涉及到很多企业现有的架构 阅读全文
-
基于SignalR的超线程上载器
摘要:基于SignalR的超线程上载器记得以前做过一个东西,就是当数据库有数据更新的时候,能够自动更新到前台,那时候signalr还没出现的时候,需要自己实现long pooling, 比较痛苦,反正是最终做完,效果也不是多么理想. 没想到最近几天发现了SignalR这个开源的东西,并且,它居然还被.net 4.0收录了. 怀着对实时交互性能的兴趣,于是便诞生了本文.效果演示下面我们先来看看演示(四个文件,前三个大小差不多,都为10MB左右,最后一个为400MB)(本演示在Firefox以及Chrome下演示通过,在IE7及其以下版本未通过.):看到了吧,多线程下载加上实时的通知功能,让webui变 阅读全文
-
使用HttpHanlder处理404: File not found
摘要:使用HttpHanlder处理404: File not found一:场景出于某种理由,需要由asp.net引擎处理所有可能出现的无效URL的Request。二:现状对于无效URL,一般会由IIS返回404错误。当然,也可以自定义Custom Error Page,但是在这种情况下,并不能处理原URL所代表的Request的数据(如表单数据)。或许我们想直接在Application_BeginRequest中处理该请求,但是,如果我们的IIS已经处理了“Verify that file Exists”,则实际上该请求根本不会被Application_BeginRequest命中(Fire)。 阅读全文
-
在线修改表单
摘要:无需重新编译代码,在线修改表单 最近在跟朋友一起讨论工作流系统中自定义表单的问题,这些表单用于流程节点的数据处理,比如在请假流程中设计一个请假单。为了使工作流具有很高的灵活性,往往需要为客户定制表单,有2种方法来处理这个问题:由程序员为某客户定制开发表单;由客户在线设计表单。 显然,方法1实施成本较高,方法2开发成本很高,但使用成本较低。但对于软件公司来说一旦使用方法2开发出来一套工作流系统,那么后期实施和客户使用就很方便了,所以也有不少工作流系统提供了“表单设计器”,来在线设计工作流表单。 我们换一个角度,来看方法1和方法2的区别,发现他们的区别是:方法1,需要开发、编译和部署程序;方法2, 阅读全文