02 2010 档案
摘要:昨天在看老工程中的代码的时候,发现其中创建了一个线程后,并没有通过CloseHandle函数来关闭该句柄。抱着怀疑的态度,就查了些相关的资料,现把自己的调查结果总结如下。1、创建线程可以通过调用CreateThread函数来创建一个线程,函数原型如下:HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpsa, DWORD cbStack, LPTHREAD_START_ROUTINE lpStartAddr, LPVOID lpvThreadParam, DWORD fdwCreate, LPDWORD lpIDThread); 此乃Window...
阅读全文
摘要:在Web.config文件中使用<location>元素可以在同一个配置文件中指定多个设定组,使用<location>元素的path属性可以指定设定应该被应用到子目录或文件。 例如,下面的web.config文件就使用了<location>元素创建了两组设置---一组是当前目录,而另一组仅仅应用于子目录Secure中的文件。<configuration> <system.web> <!-- Basic configuration settings go here. --></system.web> <lo
阅读全文
摘要:每个Web应用程序都继承来自machine.config文件和基本web.config文件的设定。另外,还可以给每个web应用程序进行单独的设定。例如,可以设定一个特定的方法用于授权、设定调试的类型、设定默认的语言或者定义错误页等。在web应用程序的虚拟根目录中添加一个web.config文件就可以了。如果需要给某个子目录添加自己的设定,那么在对应的子目录中添加一个web.config文件,并且在其中添加相应的设定就可以了。 web.config文件不能重载machine.config文件中的所有设定,例如进行模式的设定,就不能针对每个web应用程序单独进行设定。还有一些特殊的应用程序设定只能
阅读全文
摘要:ASP.NET的配置是从machine.config文件开始的,通常情况下这个文件被放在"c:/Windows/Microsoft.NET/Framework/v2.0.50727/Config"目录中,这文件中定义了ASP.NET所支持的配置文件的各个部分,包括ASP.NET工作进程的配置,以及注册一些能够提供诸如属性配置(profiles)、成员资格(membership)、基于角色的安全管理等高级功能的提供者。 和machine.config文件一起,ASP.NET还是使用了一个包含其他设定的基本文件(web.config,它和machine.config在同一个目录
阅读全文
摘要:在ASP.NET中是使用XML文件来进行配置管理的。一个应用程序的核心设定的所有信息都需要配置,包括给应用程序所定制的特有的设定,都要保存在这些配置文件中。 ASP.NET的配置文件与传统的ASP配置相比有一下几点改善 1.配置文件不会被锁定,我们可以在任何时候更新配置设定,ASP.NET会平滑的把它传送给一个新的应用程序域2.配置文件可以被很容易的访问和复制。只要拥有相应的网络授权,就可以通过远程计算机编辑(或替换)配置文件 3.配置文件可以很容易的被编辑和理解。配置文件中的设定信息对于外行是可读的,这就意味着不需要特定的配置工具就可以编辑和理解。
阅读全文
摘要:不是每个请求都触发的事件。 1.Application_Start():当应用程序第一次启动和应用程序域被创建的时候,这个方法被调用。把应用程序范围内的初始化i代码放在这个事件处理器中是非常合适的。例如,在这个时点可以加载和缓存应用程序整个生命周期中都不发生改变的数据,像导航树静态的产品目录等等。2.Session_Start():在一个新的会话(Session)开始的时候这个方法被调用。这是经常用于初始化特定用户信息的时点。 3.Application_Error():当应用程序中一个未处理异常发生的时候,这个方法被调用。 4.Session_End():当一个用户的会话(Session).
阅读全文
摘要:在global.asax文件中能够处理两种类型的事件 1.每个请求都要发生的事件,包括请求和响应相关的事件 2.只有在确定的条件下才发生的事件。一.请求和响应相关的事件 1.Applcation_BeginRequest():在每个请求开始的时候,这个方法被调用; 2.Application_AuthenticateRequest():在执行授权确认之前调用这个方法,这是创建自己的授权逻辑的切入点。 3.Application_AuthorizeRequest():在用户的访问身份被确认之后,来判定用户的操作许可。可以使用这个方法给用户分配特殊的权限。 4.Applcation_Resolv.
阅读全文
摘要:ASP.NET允许我们在global.asax文件中编写能够接受全局事件的事件处理器。用户不会直接请求这个global.asax文件,而是在响应一个确定的应用程序事件中自动的执行global.asax文件。global.asax文件提供了跟传统的ASP应用程序中的global.asa文件类似的服务。 在global.asax文件中编写代码跟编写WebForm的代码类似,不同的是global.asax文件中不包含任何HTML或ASP.NET标签,相反它包含了一些特定的预定义的方法。例如,下面的例子中在global.asax文件中定义了一个截取HttpApplication.EndRequest.
阅读全文
摘要:每个Web应用程序都要规划自己的目录结构,除了自己设计的目录结构意外,ASP.Net也定义一些有特殊意义的目录。 1.Bin:这个目录包含了所有的预编译的ASP.NET的Web应用程序使用的.Net程序集(通常是DLLs),这些程序集也包括预编译的网页类,以及被这些类所引用的其他的程序集。2.App_Code:这个目录中包含了应用程序中被动态预编译的源代码文件,这些代码文件通常是独立的组件,例如日记组件或数据访问类库。这些被编译的代码没有出现在Bin目录中,ASP.Net把它放在动态编译时使用的临时目录中。(如果在Visual Studio中使用工程模式开发Web应用程序,而不是一般的网站模.
阅读全文
摘要:应用程序域是通过CLR强制界定的确保应用程序间不相互影响的地址空间,它具有以下特征1.一个独立的Web应用程序的所有Web页共享相同的内存资源,例如全局的应用程序数据,每个用户的Session数据以及缓存数据。这些信息不能被其他的ASP.Net或ASP应用程序直接访问。2.一个独立的Web应用程序所有Web页共享相同的核心配置设定。但是,你能够在同一个虚拟目录的个别子目录中定制特定的配置设定。例如,你可以给一个Web应用程序只设定一种授权机制,而不管它的子目录。但是你也可以给每个子目录设定不同的授权规则,从而允许不同的网页组被不同的人访问。3.所有的Web应用程序在不同阶段都产生全局的应用程序
阅读全文