ASP.NET教程之怎样完成ASP.NET网站本性化
有个问题想请教你一下,呵呵:)你觉得将来学什么方向比较好,我真是想不出来,知道的太少了,麻烦了。asp.net现在,本性化是年夜多半Web使用程序的一个关头部分。TechRepublic和Amazon就是典范的例子,它们可以记着用户的某些特性。使用ASP.NET1.x完成这一功效必要完成一些分外的事情,并要利用Session工具,但2.0版本简化了本性化历程。本性文件
ASP.NET2.0Profile体系同意你轻松存储用户的相干信息。你界说与每名用户有关的属性,并将它存储在他们的本性文件中。本性文件数据能够用程序便利地会见。与别的保留文件一样,它必需被存储,且本性文件默许利用SQLServer。
Profile体系以供应程序模子为基本,特别的Profile供应程序卖力将属性值序列化息争序列化到某个数据堆栈中。.NETFramework默许利用一个SqlProfileProvider类,它利用一个SQLServer数据库表来存储数据。
体系设置
在利用ASP.NET2.0的本性文件特征之前,必需对Web服务器举行准确设置,使其撑持这一特征。默许情形下,本性文件特征利用一个SQLServer终端,但你也能够创建本人的供应程序。在本文中,我次要会商尺度的SQLServer终端,它利用默许的SqlProfileProvider类。
SQLServer撑持版本7.0、2000和2005。要设置一个撑持SQLServer的体系,起首应设置数据库服务器,最初是ASP.NET平台。
.NETFramework2.0中包括准确设置ASP.NET情况的工具。假如你利用了SQLServer2005精简版和VisualStudio,就不用举行设置。假如没有使用上述程序,第一步是注册一个SQLServer毗连。利用随.NETFramework安装的命令行工具Aspnet_regsql.exe便可完成此项操纵。在我的呆板上,此工具的路径为:
C:WindowsMicrosoft.NETv2.0.50727aspnet_regsql.exe
这个工具中包括大批的选项,你能够经由过程命令行选项(-?)具体浏览。在我的开辟体系中,我利用现有的SQLServer2000。上面的命令经由过程在指定服务器上创建需要的数据库来举行情况设置。
Aspnet_regsql.exeCApCECSdatabase_server_name
命令行开关E告知体系用以后用户证书举行考证。开关S同意你指定命据库服务器称号。开关A申明增添哪一个选项,前面的p指明增添本性文件撑持。实行此命令便可创建一个SQLServer数据库。数据库的默许称号为aspnetdb,但你也能够用命令行开关d打消它,开关d同意你指定一个现有的数据库。
如今已创建一个SQLServer情况,接上去应对ASP.NET2.0举行设置,使其使用毗连和本性文件。进进IIS办理界面,检察ISS网站(WebSites)属性并选择ASP.NET标签,便可激活ASP.NET情况属性。选择ASP.NET标签上的编纂设置(EditConfiguration)按钮。考证(Authentication)标签包括一个脚色(Roles)区,个中的脚色办理(RoleManagement)被激活(应检察这一点)。默许的SQLServer(LocalSqlServer)毗连字符串在通用(General)标签中指定。我的开辟情况利用上面的毗连字符串:
datasource=database_server_name;IntegratedSecurity=SSPI;
InitialCatalog=aspnetdb;UserInstance=false
将这些改动保留在ASP.NET情况中,把它毗连到后面设置的SQLServer实例中。设置好平台后,你就能够入手下手实行。
界说元素
本性文件中利用的数据元素在web.config文件中创建与保留(即被保留的数据值在谁人文件中界说)。实践值(对分歧用户而言)保留在一个终端数据堆栈中。你能够指定每一个属性的称号、数据范例和数据序列化的体例。
属性的数据范例与.NET中的无效尺度数据范例不异。序列化选项一样平常依附于被存储的数据范例,但共有四个序列化选项:
[*]ProviderSpecific:默许Profile供应程序决意怎样序列化属性值。
[*]字符串:属性值转换成一个字符串。
[*]Xml:属性值转换成XML情势。
[*]二进制:属性值转换成二进制情势。
在属性元素中界说的本性文件元素包括在一个本性文件元素中,它位于web.config文件的system.web部分。web.config包含一个使用后面本性文件撑持的本性文件片段。它将利用两个本性文件项目――FirstName和LastName――它们保留字符串值并同意匿名用户。
匿名用户和认证用户都可使用本性文件特征。后面的web.config文件利用本性文件元素的allowAnonymous属性,并激活使用程序匿名撑持(anonymousIdentification元素),从而指定匿名撑持。
利用代码
准确设置情况后,就能够便利地在你的.NET代码中使用本性文件元素。中的复杂C#代码利用本性文件元从来存储并显现数据值,它使用包括在System.Web定名空间中的Profile类。代码中包括在代码分别文件后的ASP.NET文件。
包括定制代码的代码分别(codebehind)。第一个按钮存储本性文件域中每一个文本域的值。第二个按钮从本性文件域中恢复值,并用这些值添补文本域。
本性化加倍简化
本性化只是ASP.NET2.0很多新特征中的一个。经由几个设置步骤,你就能够经由过程尺度的web.config文件和Profile类编码,便利地为使用程序增添本性化特征。
TonyPatton具有丰厚的Java、VB、Lotus及XML方面的常识,是一个专业的使用程序开辟职员。
Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽! 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。 Asp.net:首先来说,Asp.net和Asp没什么关系,看着像是升级版本什么的,其实没什么联系。Asp是脚本编程,用的是ASP语言,而ASP.net用的是C#语言,完全不同的东西。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
页:
[1]