‘ASP.NET’ 分类的存档

WebService的优点就不多说了,使用XML作为数据格式,可以跨平台、跨语言与多种应用程序交互。 今天,我们来实现在WebService中加入安全验证机制。 我们先,建立一个ASP.NET项目,在其中添加一个DemoService的WebService。 一切都是默认的,之后,我们再加入一个Windows控制台项目,添加Web引用,将刚刚建好的WebService加入到项目中,并调用该WebService。 显示结果: 接下来,我们使用令牌的方式为WebService添加安全验证。 1.New一个安全令牌类,这个类要继承SoapHeader,我们是利用SoapHeader实现安全验证的。 2.修改WebService的的类,支持安全验证 3.修改调用端。更新WebService引用,修改代码。 注:这里使用的是添加服务引用的方式,如果添加Web引用的方式可能稍显不同。不过原理是一样的。 运行结果: 使用这个方法可以很容易的为WebService添加安全验证机制。 代码下载

2010年11月10日22:17 1 条评论

谈起ORM大家可能会第一个想到Hibernate、iBatis等ORM框架,这些都是来自开源社区的第三方框架,我们一直希望微软能够给我们一个易用的、高效的ORM框架,ADO.NET Entity Framework就是这样一个产品,已经随着.Net Framework 4.0一起发布了。今天,我们开小试一下这个框架,看看微软给我们带来的是什么样子的产品。 还是以往的惯例,用个例子,带着大家,走一遍。 我们实现一个单表的增删改查;数据库方面使用MS SQL Server数据库,有人问了,如果使用其他的数据库怎么办?没关系,基本上主流的数据库都支持。后面,我们会详细说明。 我们先建立一个数据库,叫EFDemo,再建立一个Person表,表结构如下 接下来,我们打开VS2010,新建一个项目,单击“工具”下拉菜单中点击“连接到数据库”。 修改数据源,将其改为“Microsoft SQL Server”。 接下来,我们配置数据库连接,如图所示。 到此为止,数据库连接已经配置好了,现在我们生成实体数据模型,我们添加一个新建项,选择“ADO.NET 实体数据模型”,命名为EFDemo.edmx,在弹出对话框中选择“从数据库生成”,单击下一步。 接下来,我们选择刚才建好的数据库连接,在是否在连接字符串中包含敏感数据,因为,我的数据库sa账户是有密码的,这里选择“是”,再勾中“将App.Config中的实体连接设置另存为”,这样系统会自动创建App.Config并且设置好连接字符串,单击下一步。 这里,我们勾中要创建的数据库对象,即数据库中的表,系统会生成数据库对应表的映射,单击“完成”。此时,系统会自动生成所有相关项。 接下来我们编写增删改查的代码。 新增对象的代码: 结果: 接下来,修改对象的代码,修改这里跟其他的orm类似,都要先查找出这个对象,再对其进行修改。 结果: 删除操作,同上,还是要先查询出来对象,再进行删除操作。 结果: 查询操作,我们上面查询单个对象的时候,不难看出用的是lambda表达式,实际上从EFDemoEntities.Person里面的对象就是我们要操作的数据集,可以看做Person表中所有行的集合。我们在查询数据的时候只要调用集合的方法查询即可,系统会自动将集合的查询方法转成SQL提交数据库请求并返回,我们同样可以使用Linq查询语句完成查询操作。我们只要注意,当修改数据的时候,一定要调用一次SaveChanges()方法才能将修改的数据保存。 关于支持的数据库,目前来看,只要能连接数据库就可以使用EF框架,如SQLite、Access数据库等。

2010年9月26日09:48 没有评论

HTML5最近炒的火热,我们今天先说说HTML的发展史,HTML是一种Web浏览器统一语言,是一种标记型语言,从1991年,一个名字叫Tim Berners-Lee编写的一份叫做“HTML标签”的文档发展而来,当时包含了大约20个用来标记网页内容的标签,他直接借用了SGML标记语言,也就是后来的HTML语言。HTML的第一个官方版本是由IETF(互联网工程任务组)推出的版本是2.0,先前由Tim Berners-Lee设计的为HTML 1.0,所以,HTML 1.0并没有官方发布。 后来,由W3C,取代了IETF的工作,成为了HTML的标准组织,此后,HTML被多次修改,直到1999年的HTML 4.01,至此,HTML到达了他的第一个拐点,之后W3C推出了也就是我们现在常用的XHTML 1.0,其实就是XML风格的HTML,是严格按照编码规范HTML的实践,之后,W3C相继推出XHTML1.1,XHTML2,不过,由于XHTML2并不向前兼容,甚至不兼容之前的HTML,这直接加速了XHTML的灭亡,直到2009年,W3C宣布终止XHTML2的工作,XHTML2将不复存在。 在此之前,W3C的闭门造车的作风引起了不满,Opera,Apple,Mozilla的代表开始发表反对声音,2004年Opera的Ian Hickson提议在HTML基础上进行扩展以适应新的Web应用,该提议遭到了W3C的拒绝,于是他们自发组织了超文本应用技术工作组,也就是WHATWG。 从一开始,WHATWG就和W3C走不同的路线,W3C对问题是集体投票,WHATWG则由Ian Hickson定夺,表面上看W3C更民主,而事实上,各种内部纷争会使一些决议陷入泥潭,而WHATWG就会进展的更顺利,不过,Ian Hickson的权力并非无限大,他们的委员可以进行反驳。 开始,WHATWG的工作内容主要是两部分,Web Forms 2.0和Web Apps 1.0,他们都是HTML的扩展,后来,他们合并一起成为现在的HTML5规范。在WHATWG致力于HTML5的同时,W3C也继续他们的XHTML2.0,W3C也慢慢的陷入困境。2006年10月,Web之父Tim Berner-Lee发表了一篇博文,表示HTML走向XML的路是行不通的。几个月后,W3C组建了新的HTML工作组,他们明智的选择了WHATWG的成果,WHATWG的成果作为基础。W3C同时进行这两套规范,XHTML2和HTML 5(W3C的HTML 5中间有个空格,WHATWG的则没有),而WHATWG也在进行着同样的工作。 HTML5的现状是有两个不同的组织再给他制定规范,两个组织有着完全不同的行事风格,最终我们必须面临一个是选择HTML5还是HTML 5的问题。好在现在多款主流浏览器已经对HTML5的应用有了良好的支持,IE9更是将HTML5视为核心,所以,我们不必为HTML5担心,一切都会朝着好的方向发展的。

2010年7月15日10:08 1 条评论

微软MSDN简体中文版、繁体中文版已经从MSDN上正式发布,有MSDN账号的网友可以直接下载,没有的网友可以从下面地址下载,由于刚出啦不久,目前只有电驴资源,大家可以用迅雷下载。 注:下面地址的版本已经包含序列号,这下大家省心了,呵呵 MSDN Visual Studio 2010 Professional简体中文版本: ed2k://|file|cn_visual_studio_2010_professional_x86_dvd_532145.iso|2591844352|6001253431AFE573E4344F5A0B1D9CAC|/ MSDN Visual Studio 2010 Ultimate简体中文版本: ed2k://|file|cn_visual_studio_2010_ultimate_x86_dvd_532347.iso|2685982720|4AE6228933DDE49D9BFA4C3467C831C2|/ MSDN Team Foundation Server简体中文版本: ed2k://|file|cn_visual_studio_team_foundation_server_2010_x86_x64_dvd_531909.iso|1963589632|C9C77B2707DF100621B3FB653C285524|/ MSDN Visual Studio 2010 Ultimate繁體中文版本: ed2k://|file|ct_visual_studio_2010_ultimate_x86_dvd_532348.iso|2691330048|BF50926EAB061C7D0D92580F4132F9EA|/ MSDN Team Foundation Server繁體中文版本: ed2k://|file|ct_visual_studio_team_foundation_server_2010_x86_x64_dvd_531915.iso|1966714880|D6BD12D5B693E7EDA545D52FB54CC8E5|/

2010年5月29日16:15 没有评论

发布vs2010正式旗舰版 序列号一枚 YCFHQ-9DWCY-DKV88-T2TMH-G7BHP 安装完试用版,添加/删除程序里面激活即可。。。已经测试通过,不知道能不能激活Professional和Premium版,没有测试过

2010年4月13日22:00 2 条评论

Visual Studio 2010已于今天正式发布 一共三个版本 Visual Studio 2010 Professional Visual Studio 2010 Premium Visual Studio 2010 Ultimate 同时还发布了 Visual Studio Test Professional 2010 Visual Studio Team Foundation Server 2010 Visual Studio Lab Management 2010 需要注意的是这次发布,仍就没有中文版,希望使用中文版的朋友需要再等2周左右时间 根据微软的一贯策略,试用版跟正式版的区别仅在于序列号的区别,估计晚些时候会有可用的序列化出来,大家可以先用试用版,到时候替换即可。 下载地址: http://www.microsoft.com/visualstudio/en-us/download

2010年4月12日13:29 没有评论

提到ASP.NET性能问题,总是听到很多新手说ASP.NET的性能如何如何不好,只能说这些人并没有深入了解ASP.NET架构,不知道如何做才能提高ASP.NET的性能。 1.尽量少用ASP.NET控件 这个是ASP.NET最具争议的问题,我们知道ASP.NET控件会生成大量的ViewStat,这个其实是ASP.NET的一个特性,这个特性可以大幅度的提高我们的开发速度,只是在性能上会有一定的损失。为什么会这样?我们首先要了解ASP.NET控件原理,当我们访问一个ASP.NET页面的时候,服务器端会将页面上所有的控件中的一些交互属性放到隐藏表单域上,以便当我们回传页面的时候这些属性可以再次使用,大量的属性造成了页面的臃肿,提交数据也会变得异常庞大,这个就是导致ASP.NET控件在性能上的根本原因。 解决办法,就是我们要尽量少用或者不用asp.net控件,放弃回调方法,用请求–>响应的最基本的网页处理流程,于此同时,我们还要禁用页面中的ViewStat和runat=”server”的属性。这个时候,我们在打开页面或提交请求,页面会变的清爽的多。 2.尽可能的使用缓存 对于那些我们经常使用的数据、迭代输出的内容,我们一定要使用缓存,这个也是新手经常不注重的事情,ASP.NET给我们提供了很好的缓存方式,我们可以充分利用这一点,大大提高我们的ASP.NET应用程序的性能。 3.尽量使用存储过程 存储过程是存储在服务器上的一组预编译的SQL语句。存储过程具有对数据库立即访问的功能,信息处理快,使用存储过程可以避免对命令的多次编译,在执行一次后其执行规划就驻留在高速缓存中,以后需要时只需直接调用缓存中的二进制代码即可。另外,存储过程在服务器端运行,独立于ASP.NET程序,便于修改,最重要的是它可以减少数据库操作语句在网络中的传输。 4.不要使用DataSet作为数据源 应用程序的性能90%来源于磁盘I/O操作,提高数据库的读取能力,可以直接提高系统的性能。我们在读取数据的时候,请使用SqlDataReader,返回集合的方式,这样做会比DataSet性能要高很多。 5.服务器跳转 使用Service.Transfer()来跳转,Response.Redirect()方法的跳转,属于客户端跳转,是页面发送给客户端一个跳转请求,客户端再请求要跳转的页面完成跳转操作,Server.Transfer()则是直接的服务器端的跳转。 6.尽可能的少使用代码中的异常 代码中创建异常对象会消耗大量资源,我们要尽量少使用代码中的异常处理。 7.细节方面 细节方面我们也要注意,如我们在处理很多字符串连接操作时,我们应使用StringBuilder,字符串连接不多的时候,使用+=就可以了。判断空字符串时用string.IsNullOrEmpty()方法,比较字符串使用Compare,应用程序的设置信息使用序列化存放成xml文件。

2010年1月18日14:26 1 条评论

NHibernate是什么呢?简单的说就是在.Net环境下的ORM(Object Relational Mapping – 对象关系映射)框架,是把对象模型表示的对象映射到基于SQL 的关系模型数据结构中去。这样做的好处是什么呢?节省我们的开发成本,我们不需要处理大量的SQL语句,直接可以对表映射对象进行操作,完成持久化操作。了解Java的开发人员都知道Hibernate是一个很著名的ORM框架,NHibernate就是从Java平台移植过来的。 NHibernate底层架构图,从这张图不难看出,NHibernate就是ADO.Net及.Net下不同数据访问的封装,借助.Net原生的数据访问对象,完成数据访问的。 准备工作 下载NHibernate类库,文档。 官方网站:http://www.nhibernate.org 本系列文章将用NHibernate v.2.1.2.GA做实例

2010年1月16日15:55 没有评论

Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中。我们在下面实例讲解如何进行Json的序列化和反序列化,本文介绍两种方案,.net 3.5原生Json操作和Json.net中的Json操作。 首先,我们先建立一个测试对象,用来序列化和反序列化。 第一种,利用.Net Framework 3.5中原生的Json操作类库,特点就是不需要导入第三方类库,比较方便,速度上一般,而且需要.Net Framework的支持,我们知道现在还有很多服务器没有升级到.Net Framework 3.5,就用不了这个了。 首先导入下面类库,并加入下面代码 System.ServiceModel System.ServiceModel.Web 输出结果 这个是.Net Framework 3.5原生的序列化方式,接着,我们介绍反序列化方式,还是同样的加入下面代码 输出结果 我们从.Net Framework 3.5原生的Json序列化及反序列化方式中,可以看出,还是相当麻烦的。很多网友也会问如果是.Net Framework 2.0该怎么办呢?下面,我们介绍一个第三方的Json序列化和反序列化类库,来完成上面操作,这个类库是有.Net Framework 2.0的版本的哦,而且这个类库还可以支持xml的序列化和反序列化操作(本文不做讲解)。下面看操作。 输出结果 这个是Json序列化方法,是不是简单了很多呢? 输出结果 这个是Json反序列化方法,简单吧,而且据说这个类库的速度比.Net原生的Json序列化和反序列化方法要快很多。下载地址http://json.codeplex.com/

2010年1月15日22:12 没有评论

ASP.NET MVC是继ASP.NET WebForms之后,微软推出的Front Controller式的Web开发模型,它弥补了前者对HTML控制能力不足,单元测试较为困难等缺点。更重要的是,ASP.NET MVC基于MS-PL发布,是一个真正的开源框架——且没有任何平台限制,也就是说,您可以在mono下使用或开发ASP.NET MVC的相关项目。 其实微软在今年3月的MIX大会上发布ASP.NET MVC RTM的时候,就已经公布了部分ASP.NET MVC 2的计划,并且在官方代码源中包含的MvcFutures项目中实现了V2的部分功能雏形。在沉寂了4个多月之后,现在微软终于发布了ASP.NET MVC 2的Preview 1版本,并在论坛中向社区征求反馈意见和建议。令人放心的是,ASP.NET MVC 2 Preview 1能够与ASP.NET MVC 1.0 RTM共存,不会影响后者的正常使用。 下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=3b537c55-0948-4e6a-bf8c-aa1a78878da0&displaylang=en

2009年12月23日09:33 没有评论
Page 1 of 212