ASP.NET网站制作之.NET主要文件――Web.config
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?web Web.config文件是一个XML文件,它用来贮存ASP.NETWeb使用程序的设置信息(如最经常使用的设置ASP.NETWeb使用程序的身份考证体例),它能够呈现在使用程序的每个目次中。当你经由过程VisualStudio.NET新建一个Web使用程序后,默许情形下会在根目次主动创立一个默许的Web.config文件,包含默许的设置设置,一切的子目次都承继它的设置设置。假如你想修正子目次的设置设置,你能够在该子目次下新建一个Web.config文件。它能够供应除从父目次承继的设置信息之外的设置信息,也能够重写或修正父目次中界说的设置。在Web使用程序运转时,对Web.config文件的修正不必要重启服务就能够失效(注:<processModel>节破例)。固然Web.config文件是能够扩大的。你能够自界说新设置参数并编写设置节处置程序以对它们举行处置。web.config设置文件
web.config是个XML文件,一切设置信息都是以响应的节点来纪录的。设置文件以下一切的代码都应当位上面的根节点中:
<configuration>
<system.web>
……
……
</system.web>
</configuration>
便于进修和勤俭篇幅,本书就省略了其他节点代码,读者能够从每一个Web使用程序的目次下找到它,用文本编纂器就能够翻开来看。上面我们就几个主要的节点来先容。
(1)<authentication>节点
感化:设置ASP.NET身份考证撑持(为Windows、Forms、PassPort、None四种)。该元素只能在盘算机、站点或使用程序级别声明。<authentication>元素必须与<authorization>节共同利用。
(2)<authorization>节点
感化:把持对URL资本的客户端会见(如同意匿名用户会见)。此元素能够在任何级别(盘算机、站点、使用程序、子目次或页)上声明。必须与<authentication>节共同利用。
(3)<compilation>节
感化:设置ASP.NET利用的一切编译设置。默许的debug属性为"True".在程序编译完成托付利用以后应将其设为True(Web.config文件中有具体申明,此处省略示例)
(4)<customErrors>节点
感化:为ASP.NET使用程序供应有关自界说毛病信息的信息。它不合用于XMLWebservices中产生的毛病。
比方:当产生毛病时,将网页跳转到自界说的毛病页面。
<customErrorsdefaultRedirect="ErrorPage.aspx"mode="RemoteOnly">
</customErrors>
个中元素defaultRedirect暗示自界说的毛病网页的称号。mode元素暗示:对不在当地Web服务器上运转的用户显现自界说(友爱的)信息。
(5)<httpRuntime>节点
感化:设置ASP.NETHTTP运转库设置。该节能够在盘算机、站点、使用程序和子目次级别声明。
比方:把持用户上传文件最年夜为4M,最长工夫为60秒,最多哀求数为100。
<httpRuntimemaxRequestLength="4096"executionTimeout="60"appRequestQueueLimit="100"/>
(6)<pages>节点
感化:标识特定于页的设置设置(如是不是启用会话形态、视图形态,是不是检测用户的输出等)。<pages>能够在盘算机、站点、使用程序和子目次级别声明。
比方:不检测用户在扫瞄器输出的内容中是不是存在潜伏的伤害数据(注:该项默许是检测,假如你利用了不检测,一要对用户的输出举行编码或考证),在从客户端回发页时将反省加密的视图形态,以考证视图形态是不是已在客户端被改动。(注:该项默许是不考证)。
<pagesbuffer="true"enableViewStateMac="true"validateRequest="false"/>
(7)<sessionState>节点
感化:为以后使用程序设置会话形态设置(如设置是不是启用会话形态,会话形态保留地位)。
比方:
<sessionStatemode="InProc"cookieless="true"timeout="20"/>
</sessionState>
必要申明的是:
mode="InProc"暗示:在当地贮存会话形态(你也能够选择贮存在远程服务器或SAL服务器中或不启用会话形态);
cookieless="true"暗示:假如用户扫瞄器不撑持Cookie时启用会话形态(默许为False);
timeout="20"暗示:会话能够处于余暇形态的分钟数;
(8)<trace>节点
感化:设置ASP.NET跟踪服务,次要用来程序测试判别那里堕落。
比方:以下为Web.config中的默许设置:
<traceenabled="false"requestLimit="10"pageOutput="false"traceMode="SortByTime"localOnly="true"/>
必要申明的是:
enabled="false"暗示不启用跟踪;requestLimit="10"暗示指定在服务器上存储的跟踪哀求的数量;
pageOutput="false"暗示只能经由过程跟踪有用工具会见跟踪输入;
traceMode="SortByTime"暗示以处置跟踪的按次来显现跟踪信息;
localOnly="true"暗示跟踪检察器(trace.axd)只用于宿主Web服务器。
自界说Web.config文件设置节
自界说Web.config文件设置节历程分为两步:
(一)在设置文件顶部<configSections>和</configSections>标志之间声明设置节的称号和处置该节中设置数据的.NETFramework类的称号。
(二)在<configSections>地区以后为声明的节做实践的设置设置。
比方:创立一个节存储数据库毗连字符串
<configuration>
<configSections>
<sectionname="appSettings"type="System.Configuration.NameValueFileSectionHandler,System,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"/>
</configSections>
<appSettings>
<addkey="SQLCon"value="server=ASPNET;database=northwind;uid=sa;pwd=1234567abc"/>
</appSettings>
<system.web>
......
</system.web>
</configuration>
会见Web.config文件的节点信息
能够经由过程利用ConfigurationSettings.AppSettings静态字符串汇合来会见Web.config文件示例:猎取下面例子中创建的毗连字符串。
DimSQLConAsString=ConfigurationSettings.AppSettings("SQLCon")
Dimsqlcon=NewSqlConnection(SQLCon)
对于new隐藏成员的作用,往往是出于使用了一个第三方类库,而你又无法获得这个类库的源代码,当你继承这个类库的某个类时,你需要重新实现其中的一个方法,而又需要与父类中的函数使用同样的函数,这是就需要在自定义的子类中把那个同名函数(或成员)加上new标记,从而隐藏父类中同名的成员。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
页:
[1]