随笔分类 - [27]NET8
-
Asp.Net生命周期系列五
摘要:Asp.Net生命周期系列五如果您看了我的前四篇文章,应该知道目前Http请求已经流到了HttpModule这个程序员手中了,而且我们可以注册自己的HttpModule并且可以在里面注册一些事件来控制这个Http请求,但是到目前为止我们还没有真正的处理这个Http请求,那究竟什么时候开始处理呢,又是怎样处理的呢,下面我们来简单探讨一下!其实是在HttpModule中触发PreRequestHandlerExecute事件之后,才真正把控制权交给了HttpHandler这个程序员,在第一篇中我们说到,HttpHandler它他天生就会处理页面,它用了一招“乾坤大挪移”的功夫,就把上下文Conte 阅读全文
-
模板样式优化
摘要:模板样式优化内容提点Firebug简单介绍样式定义简介修改实战序言博客园提供了非常丰富的模块,也有很多非常赞的模板,可总是会有一些很喜欢的模板,却又觉得有些美中不足,如果可以自己美化一番,那就更妙了。那么就从这里开始一次“博皮”的美容之旅。博客园提供了两种自定义样式的途径:1、自己创建一个模板,提交给博客园管理团队2、使用一个现有模板,然后在此基础上编写自定义样式这里介绍的是第二种Firebug简单介绍前端优化调试必须要有一个利器,而火狐上的Firebug插件就是其中之一。下面就简单的介绍下使用,熟悉的朋友跳过。定位页面元素使用这个功能可以轻松的定位到页面的任何html标签。首先点击,然后鼠标 阅读全文
-
多国语言功能设计与实现
摘要:多国语言功能设计与实现ERP软件应该实现多国语言功能。一般是英文,简体中文和繁体中文。理论上,实现两种或两种以上的语言就已经实现任意语言,但是从Window的语言和区域选项中可以看到,要完整的实现多国语言,还需要对这些特性进行定制。从实现方法来上说,有两种方式:1 只读。语言资源呈现现到界面中,以只读的方式,用户不可修改。或是只能由开发部门修改。2 可修改。语言资源可以由用户定制修改。我倾向于使用向者。这个过程也是逐步认识的。当熟悉SR之类的资源文件(Resx)工具之后,非常迷恋这种方式。对每一个字符串资源,生成为类型的公共静态属性,调用方式相当方便。用.NET Reflector载入.NET 阅读全文
-
Asp.Net生命周期系列四
摘要:Asp.Net生命周期系列四上回我们说的当一个Http请求来到HttpModule这里的时候,Asp.Net内部并未对这个Http请求做出任何的处理,我们可以对这个Http请求添加一些我们需要的信息,以方便我们控制这个Http请求。我们添加控制信息一般情况下是通过添加一些事件来控制的,那么HttpModule内部到底有哪些事件呢,他们的执行顺序又是怎样的呢?1、HttpModule的事件BeginRequest指示请求处理开始AuthenticateRequest封装请求身份验证过程AuthorizeRequest封装检查是否能利用以前缓存的输出页面处理请求的过程ResolveRequestC 阅读全文
-
.net分页控件简单实现
摘要:.net分页控件简单实现好久好久没写博客了。。。。。最近写了一个.net的分页控件,放到园子里。。。你觉得好,就点个赞,不好呢,就告诉我为啥吧。。。。是使用Request.QueryString的。。。。参数: public int currentPageIndex = 0;//当前页数 public int pagesize = 16;//每页显示的条数 public int pagecount = 0;//页数 public int rowscount = 0;//总条数 public string prevtext =... 阅读全文
-
.NET程序集强命名删除与再签名技术 源代码剖析
摘要:如果你想去除一个程序集的强签名(strong name),目前为止可以有两个途径1 反编译为IL代码,删除签名部分,再编译为程序集2 应用Re-Sign程序,直接对一个程序集再签名生成和读取强命名先来看,如何生成.NET的签名文件,调用命令SN传入参数。下面的代码读取该文件,FileStream keyPairFile = File.OpenRead(“key.sn”);this.byte_2 = new StrongNameKeyPair(keyPairFile).PublicKey;keyPairFile.Close();再深究一下,BCL中原来还有一个StrongNameKeyPair的 阅读全文
-
Asp.Net生命周期
摘要:Asp.Net生命周期系列三上文讲到了HttpRunTime主要做了三个事情,我们先回忆一下。第一:雇佣了项目经理(HttpApplication)。第二:建立了HttpModule列表,项目经理(HttpRunTime)就是按照这个工作列表去工作的。第三:创建了Context上下文对象(包含了HttpRequest和HttpResponse两大主要对象),并把它转交给了HttpApplication去处理。下面最重要的是HttpModule到底是个什么东东,HttpApplication又是怎么样按照它的工作列表去工作的。当一个请求到达HttpModule时,整个Asp.Net系统并没有对这 阅读全文
-
javascript ajax 脚本跨域调用全解析
摘要:javascript ajax 脚本跨域调用全解析今天终于有点时间研究了一下javsscript ajax脚本跨域调用的问题,先在网上随便搜了一下找到一些解决的办法,但是都比较复杂。由是转到jquery.chm用户手册当中找到一些代码片段关于ajax跨域调用的问题。代码片段如下:crossDomainmapV1.5默认: 同域请求为false跨域请求为true如果你想强制跨域请求(如JSONP形式)同一域,设置crossDomain为true。这使得例如,服务器端重定向到另一个域。这里强调如是ajax的跨域调用,dataType一定要是jsonp的格式。(什么是jsonp这里不做解释,可以go 阅读全文
-
阅读开发高手的代码 分享二则.NET开发框架的技巧
摘要:阅读开发高手的代码 分享二则.NET开发框架的技巧最近阅读了一套ERP开发框架的源代码,对开发框架的理解又深入一层,也为其将知识点运用的如此灵活而自叹不如。郎咸平教授说,国际金融炒家对国际金融知识的理解与运用程序,是不可想像的。1997年的亚洲金融危机,国际金融炒家对香港的攻击是卖空港币,但是最后却反应到股票市场,惨败。同理,开发高手将系统的知识点,运用的相当灵活,你完全没有想过可以按这种方式做出程序,灵活简便,维护方便。1 .NET组件自动重命名在Windows Forms开发,经常遇到一件头疼的事情是一个Form界面有很多控件,而这些控件的名称(Name)很难维持命名统一。比如,开发规范里 阅读全文
-
ajax简单后台交互
摘要:ajax简单后台交互1,扯淡 单身的生活,大部分时间享受自由,小部分时间忍受寂寞。 生活有时候,其实蛮苦涩,让人难以下咽。那些用岁月积累起来的苦闷,无处宣泄,在自己的脑海里蔓延成一片片荆棘,让你每每想坐下休息的时候刺痛你,让你在睡梦里惊醒,在快乐里落寞,在喜悦中突然感到悲伤。 可是,我们顺利熬到了今天,应该说:我们是那些还没有和生活妥协的人。2,主题 写页面总会遇到ajax的,用得多了自然熟练了,或会存着源码,要用了copy下就好了。 这里是简单实现一个利用jquery 的ajax方法实现的查询后台信息的功能。 1,页面上的控件: 选择微信: ... 阅读全文
-
asp.net通用查询模块设计
摘要:asp.net通用查询模块设计前言自从上次狂喷了devexpress for asp.net面向互联网的app的各种不合理,好像骂的dev无处容身了,不过说实话,dev在做互联网的app时,生成的代码确实很多,在服务器解析方面,效率肯定不是很高的,这是使用过dev控件的伙计们都有目共睹之处。难道一款被微软官方推荐的dev真他妈的就这么烂吗?我看未必,好钢你得用到刀刃上,你想杀只老母鸡吃,但是你要用棒槌把鸡打死了再煮,估计鸡死了也就成了肉酱了,那这只鸡杀的就太没水准了,你得用锋利的小刀割了老母鸡喉咙便是。使用dev做内网的一些应用,那才叫高效率,样式丰富,统一,大方,美观,是不可多得的选择。功能 阅读全文
-
一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!
摘要:一种基于自定义代码的asp.net网站首页根据IP自动跳转指定页面的方法!对于大中型网站,为了增强用户体验,往往需要根据不同城市站点的用户推送或展现相应个性化的内容,如对于一些大型门户网站的新闻会有城市站点的功能,如果没有设置相应的城市站点,默认就是根据用户访问的IP地址的所在城市自动设置。本文主要通过自定义扩展IHttpModule接口,考虑到性能IP数据库主要采用QQwry纯真IP数据库(但此数据库并非是官方的,我之前与ip138网站对比过,IP地址信息的准确性大概在90%左右),主要实现根据IP地址或地址段或IP所在城市进行自动跳转到指定页面的功能(支持Nginx作为前端反向代理服务器) 阅读全文
-
Web API 的安全性
摘要:Web API 的安全性ASP.NET Web API 可非常方便地创建基于 HTTP 的 Services,这些服务可以非常方便地被几乎任何形式的平台和客户端(如浏览器、Windows客户端、Android设备、IOS等)所访问,它可根据请求类型自动提供 JSON、XML 等类型的响应内容。在移动互联网逐渐成为主流的背景下,通过 Web API 对外发布基于标准、通用 HTTP 协议的服务来交换数据无疑具有非常大的优势和吸引力。本文将主要围绕 ASP.NET Web API 的安全性进行讨论。一、Forms Authentication Forms 认证基于凭据(Ticket)机制,凭据在登 阅读全文
-
多线程实践
摘要:多线程实践 一直对多线程不感冒,常见的场景下用不到这种技术,所以一直不愿去了解,但是遇到一些耗时的任务时就要考虑了。下面的例子是项目中遇到的,不想说这个如何的高深,只想说我也不是很了解到底如何工作的,到底带来了多少的效率提升。书上的理论要多枯燥有多枯燥,枯燥的我都不想去动手写里面的例子,下面的例子是实际用到的,还有些意思,不管怎么说开个头吧。 1.ManualResetEvent[] doEvents = new ManualResetEvent[threadCount]; 通知一个或多个正在等待的线程已发生事件。 谁通知谁,发生的事情是指?一头雾水 2.ThreadPool.Queue... 阅读全文
-
对用户控件(ascx)属性(property)赋值
摘要:对用户控件(ascx)属性(property)赋值Insus.NET写此博文,是对用户控件(ASCX)的属性赋值经验与技巧分享。是这样子的,在做新闻站点时,一般都会有分很多类别。 在站点首页会显示最新,最TOP 或最Hot的新闻或文章,而且是分类别来分的。因此,我们会设计成一个用户控件,用户控件的数据源均是来自Article这个表,只是传入不同的category 的ID值和 Top几条来实现。用户控件.cs大约如下,高亮代码是两个属性,当然你的真实环境也许只有一个,或是更多的属性。现在来演示网页引用用户控件,并赋值,分几种方法或是重构优化它们。在创建一个网页,也就是说,你的网点上,哪个网页需要 阅读全文
-
MapXtreme+Asp.net 动态轨迹
摘要:MapXtreme+Asp.net 动态轨迹(请求大神指点)功能简介:在MapXtreme+Asp.net的环境下实现轨迹回放功能,经过两天的努力基本实现此功能。但还有部分问题需要解决,求大神们指点迷津,问题会在结尾处提出。客户端前台页面 ... 阅读全文
-
用户设置角色
摘要:用户设置角色ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)(1):框架搭建(2):数据库访问层的设计Demo(3):面向接口编程(4 ):业务逻辑层的封装 (5):前台Jquery easyUI实现(6):EF上下文实例管理(7):DBSession的封装(8):DBSession线程内唯一 (9):TT摸版的学习(10):VSS源代码管理(11):验证码实现和底层修改(12):实现用户异步登录和T4模板 (13):权限设计(14):主框架搭建(15):权限数据库模型和用户登录详细错误(16):用户注册的各种验证 (17):注册用户功能的细节处理 (18):过滤器的.. 阅读全文
-
asp.net 上传文件
摘要:文件上传实例 公司产品中一直是采用flash实现文件上传功能,但用户的需求多了以后遇到了越来越多难以解决的问题,最后试着用硕正提供的freeform、小型页面控件来解决。 硕正文件上传的实现途径有3、4种,由于公司产品发布的需要,就选择了其中的httpPost方案,其它的象ftp、Httpput尽管也是不错的选择,但需要另外建站,或涉及权限问题,恐怕最终用户的部署维护会吃不消。 httpPost方案还有一个非常好的优点,就是文件上传后是保存到文件还是保存到数据库,都很容易实现。 我们的需求以及最终实现了的功能特点在此先罗列一下: 1.支持多文件上传; 2.支持超过4G的大文件上传;... 阅读全文
-
跨站脚本攻击(Cross‐Site Scripting (XSS))
摘要:跨站脚本攻击(Cross‐Site Scripting (XSS))跨站脚本攻击(Cross‐Site Scripting (XSS)) XSS(Cross Site Script)跨站脚本攻击。是指攻击者向被攻击Web 页面里插入恶意html代码,当用户浏览该页之时,嵌入其中的HTML代码会被执行,从而达到攻击的特殊目的。XSS和CSRF(Cross site request forgery)合称Web 杀手组合。黑客洞穿页面逻辑,使输入的内容被按照期望内容展示出来,从而达到欺骗或攻击用户的效果。常见的xss攻击类型有存储xss攻击和反射型xss攻击。存储型XSS(Stored XSS) 存 阅读全文
-
Asp.Net在多线程环境下的状态存储问题
摘要:Asp.Net在多线程环境下的状态存储问题在应用开发中,我们经常需要设置一些上下文(Context)信息,这些上下文信息一般基于当前的会话(Session),比如当前登录用户的个人信息;或者基于当前方法调用栈,比如在同一个调用中涉及的多个层次之间数据。 在.Net中,常用的有以下三种方法来实现这个特性. HttpContext.Current.Session或HttpContext.Currnet.Items是大家使用的最多的方式. [ThreadStatic]方式可以存储单个线程的共享状态. System.Runtime.Remoting.Messaging.CallContext类则可以存 阅读全文