随笔分类 -  asp.net

摘要:在Mvc中,标准的模块化开发方式是使用Areas,每一个Area都可以注册自己的路由,使用自己的控件器与视图。但是在具体使用上它有如下两个限制 1.必须把视图文件放到主项目的Areas文件夹下才能生效,否则运行时会发生找不到视图的错误。 2.在实际开发中,这种开发方式只能建立一个项目,所有的开发工... 阅读全文
posted @ 2014-09-08 11:50 永远的阿哲 阅读(4067) 评论(9) 推荐(4) 编辑
摘要:项目使用的是Oracle数据库,.Net使用Odac对数据库进行访问。在官方下载Odac时会让你选择是下载32位的还是64位的。这会直接影响到网站的运行模式。目前我们使用的是32位的,那么布署时,需要将应用程序池的启用32位设置为True。 那么,对于网站来讲,是32位模式性能更好,还是64位性能更好呢? 我没有动手亲自试验,而是在网上查了查,在这篇文章里,提问者进行了多次性能测试,并将结果汇总为图表。可以看到,Asp.Net 2.0 在32位操作系统下运行于32位模式下性能最好,Asp.Net 4.0 在64位操作系统下运行于32位模式下其次。而我之前想到的Asp.Net 4.0在64位操. 阅读全文
posted @ 2014-04-07 18:08 永远的阿哲 阅读(1350) 评论(0) 推荐(0) 编辑
摘要:在应用开发中,我们经常需要设置一些上下文(Context)信息,这些上下文信息一般基于当前的会话(Session),比如当前登录用户的个人信息;或者基于当前方法调用栈,比如在同一个调用中涉及的多个层次之间数据。 在.Net中,常用的有以下三种方法来实现这个特性. HttpContext.Current.Session或HttpContext.Currnet.Items是大家使用的最多的方式. [ThreadStatic]方式可以存储单个线程的共享状态. System.Runtime.Remoting.Messaging.CallContext类则可以存储一个逻辑线程的共享状态,即主线程和其所. 阅读全文
posted @ 2013-06-18 17:56 永远的阿哲 阅读(2777) 评论(3) 推荐(8) 编辑
摘要:Asp.Net MVC3 框架包含了一个Microsoft.Web.Infrastructure程序集,里面有个DynamicModuleUtility对象及其RegisterModule方法.用于在程序中动态注册IHttpModule.一般来讲模块需在要在程序启动之前注册完成,所以调用这方法的程序一般都会在最开始处作PreApplicationStartMethod标记,比如:using System;using System.Web;using Microsoft.Web.Infrastructure.DynamicModuleHelper;[assembly:PreApplicatio. 阅读全文
posted @ 2013-01-31 15:19 永远的阿哲 阅读(668) 评论(0) 推荐(0) 编辑
摘要:自己四个月前曾初步研究了Asp.net导步处理模型并写了一遍学习总结:asp.net异步处理机制研究 ,由于一直没有应用的机会,不久就抛之脑后了。前天一朋友说需要实现一个类似QQ聊天的网页聊天工具,我立马就想到了它。经过几个小时的奋战,终于做出一个简易的聊天Demo,效果图如下: 左右两图代表单独打开的两个浏览器界面,当右面的用户选中一个在线用户,在输入框架填入信息并发送时,左侧的用户就能立马收到信息。 一.概要 1.前台 前台代码里最重要的函数当数wait如下:function wait() { $.post("SendHandler.ashx?ran=" + new D 阅读全文
posted @ 2012-09-17 17:29 永远的阿哲 阅读(1763) 评论(0) 推荐(2) 编辑
摘要:前几天看了两篇写的非常好的博文:详解.NET异步,详解 ASP.NET异步.在这两篇文章里,作者详细讲解了如何在.net中进行异步编程以及如何在asp.net中对请求进行异步处理.一开始看的时候有很多地方本人都看不懂,或者想不通.借着这股东风,我又重新把asp.net webForm模型复习了一遍,然后阅读了clr via c#,对.net异步处理进行了初步的研究.花了好几天功夫,终于大概能明白整个处理机制了. 一.asp.net webForm 一般处理流程 当IIS接收到客户端发来的请求后,如果发现这是请求一个asp.net资源,则通过调用HttpRuntime对像交由.net进行处理.. 阅读全文
posted @ 2012-05-05 23:40 永远的阿哲 阅读(2819) 评论(3) 推荐(3) 编辑
摘要:Ext.Net也是一个很有名的前端框架,它构建于ExtJS之上,提供了一整套UI+AJAX的解决方案.通过对其源码的研究,了解其是如何实现这套AJAX的,对我们也是很有帮助的. 1.静态的AJAX方法实现. 当把[DirectMethod]标记标在一个静态方法上时,Ext.Net是通过HttpModule来截获Http请求实现的.具体的实现类为:DirectRequestModule类 在应用程序生命周期的PostAcquireRequestState事件内中加入处理函数Code highlighting produced by Actipro CodeHighlighter (freewa. 阅读全文
posted @ 2010-11-26 10:55 永远的阿哲 阅读(2577) 评论(4) 推荐(5) 编辑
摘要:最近工作比较闲,可以静下心来研究自己感兴趣的问题.AjaxPro框架是一个有点历史的.net上的Ajax框架了,使用起来非常方便,一直想了解它究竟是怎么实现的,现在终于有时间啦!前台代码:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--<bo... 阅读全文
posted @ 2010-11-24 20:36 永远的阿哲 阅读(723) 评论(0) 推荐(0) 编辑
摘要:像我们这些用asp.net webForm进行开发的程序员,由于微软的意愿,并没有多少机会来了解网页运作的本质,一切都给我们封装好了.然而当我们学习到一定程度后,就需要对这些个细节进行了解,以更好的进行编程.下面的这三个东东讲的不错,都是精品中的精品.了解HTTP Headers的方方面面从输入网址到显示网页,这个过程究竟发生了什么?http协议详讲视频教程(孙鑫) 在浏览器的解析方面,这篇文章写... 阅读全文
posted @ 2010-03-10 16:16 永远的阿哲 阅读(226) 评论(0) 推荐(0) 编辑
摘要:当一个web应用程序完成后,部署到iis中有以下几种方式: 源码部署: 就是把工程内的文件原封不动的Copy到iis中。当有请求的时候,asp.net会在编译目录的根目录下寻找一个以.compiled为扩展名的保留文件(Preservation File)。每一个Page页面都会有一个对应的保留文件。保留文件只会存在于编译根目录下。里面记录了Page类编译后的相关信息。如果没有,则会对请求的页... 阅读全文
posted @ 2010-03-09 11:22 永远的阿哲 阅读(301) 评论(0) 推荐(0) 编辑
摘要:这些还是前辈们都研究烂的东东,我也只是COPY他们的成果,好了,什么也不说了,先来一张表:页面事件ViewState相关操作PreInit设置控件静态属性Init执行TrackViewState方法(打开ViewState跟踪)InitComplete  从_ViewState隐藏字段更新控件属性,因为控件属性大部分实际存储在ViewState中,所以也可以说是恢复/更新ViewState,并对恢... 阅读全文
posted @ 2010-03-07 19:51 永远的阿哲 阅读(408) 评论(1) 推荐(1) 编辑
摘要:这些个东东我都是学习前辈,该说的前辈都已说过了,该做的前辈也已做过了,再弄就是班门弄斧了,还是用图形来表达我的心得吧底层调用关系图:事件顺序图:事件顺序图: HttpApplicationPageControlBeginRequestAuthenticateRequestDefaultAuthenticationPostAuthenticateRequestAuthorizeRequestPostAuthorizeRequestResolveRequestCachePostResolveRequestCacheMapHttpHandlerConstructPostMapRequestHandl 阅读全文
posted @ 2010-03-07 19:40 永远的阿哲 阅读(844) 评论(1) 推荐(1) 编辑
摘要:首先去官网下载,有三个版本,core版,rc版,ide版core是用js来写测试代码,rc版允许用.net/java/ruby等编程语言来写测试代码,ide版是firefox的一个插件,允许图形化操作。我搞.net,就下载rc版吧然后打开Selenium服务。由于这个东东资料少,我在作测试的时候一直无法通过,甚至连自带的demo都无法通过,再仔细一查,原来是服务没有打开!郁闷啊,搞了一个多小时才发... 阅读全文
posted @ 2009-05-20 14:28 永远的阿哲 阅读(1147) 评论(0) 推荐(0) 编辑
摘要:首先,eval与bind是两个方法,都可以实现前台数据绑定Bind方法(双向数据绑定)即能把数据绑定到控件,又能把数据变更提交到数据库。Eval方法(单向数据绑定)它实现了数据读取的自动化,并能对绑定字段进行格式化显示,但是没有实现数据写入自动化。比如,当有GridView、DetailsView控件的时候,Bind方法可以使控件从模板中的子控件中提取值,并将这些值传递给数据源控件。然后数据源控件... 阅读全文
posted @ 2009-05-20 14:24 永远的阿哲 阅读(491) 评论(0) 推荐(0) 编辑
摘要:入行计算机软件行业13个月了,搞.net开发也快1年了,跟据在书上看到,网上看到,自己学到的东东,总结出一套asp.net大体的知识体系,或者说应该掌握的部份: 1.Html,Css,JavaScript基础 主要掌握html标签的写法,Css会用,JS的Dom模型,Js操纵Html/Xml 2.面向对象程序设计 建立一种思想 3.C#语言基础 .net语法 4.Sql Server 2005 T... 阅读全文
posted @ 2009-05-20 14:20 永远的阿哲 阅读(408) 评论(0) 推荐(0) 编辑
摘要:在我的印象中,谈到状态管理,更多的是谈application,session之类的,很少有谈cache的,当然cache不属于状态管理的范围。但是最近在工作中用到了cache,发现实际上Cache比其它的对象更易用,更实用 还是先把原先经常谈到的对象罗列一次吧 1.服务器端 application 属于全局控制,使用前要lock session 每个用户有自己的一个副本,有过期时间,不过过期时间不... 阅读全文
posted @ 2009-04-14 15:23 永远的阿哲 阅读(948) 评论(0) 推荐(0) 编辑
摘要:我现在接触到的下载有两种形式: 直接下载服务器某个目录下的文件和下载数据库中存的二进制文件 代码如下: //获取文件对象 FileInfo file = new FileInfo(Server.MapPath("~/123123213213.txt")); //附件形式 Response.Clear(); Response.AddHeader("Content-Disposition", "att... 阅读全文
posted @ 2009-04-13 15:36 永远的阿哲 阅读(394) 评论(0) 推荐(0) 编辑