随笔分类 - Asp.Net MVC 3
Asp.net MVC 3 Razor 确实是一个优秀的值得学习的好框架
摘要:最近.net core可以跨平台了,这是一个伟大的事情,为了可以赶上两年以后的跨平台部署大潮,我也加入到了学习之列。今天研究的是依赖注入,但是我发现一个问题,困扰我很久,现在我贴出来,希望可以有人帮忙解决或回复一下。 背景:我测试.net自带的依赖注入生命周期,一共三个:Transient、Scop
阅读全文
摘要:委托和事件是.Net 框架的重要组成部分,在GUI程序开发中,大量使用了事件处理,但是亲们,对于委托,我们是否还记得曾经在书上看到的详细内容。委托的使用注意事项是什么?我们会使用委托和事件,但是我们不了解事件背后的原理,亲们,我们忘记委托了吗?反正我是忘记了。 委托是方法调用的指针,也称为函数指针...
阅读全文
摘要:今天重构公司的代码,看到有一个单例的对象,在整个系统中到处都存在调用它的身影,因为我们这个项目会在应用服务器(server)第一次启动的时候加载数据库中的代码表(为什么要先加载,因为这个项目采用的是C/S模式,利用remoting进行通信,在客户端启动的时候会多次获取代码表中的不同数据。) 1 ...
阅读全文
摘要:Autofac 是一款优秀的IOC的开源工具,完美的适配.Net特性,但是有时候我们想通过属性注入的方式来获取我们注入的对象,对不起,有时候你还真是获取不到,这因为什么呢?1.你对Autofac 不太了解,在这个浮躁的社会,没有人会认真的了解每个开源项目,只要求能用就行2.没有时间了解,你是一个很忙...
阅读全文
摘要:在asp.net MVc中想生成一个超链接有很多种方式,通过直接输入、Html.ActionLink、Html.RouteLink等等,今天我们要阐述的就是Html.ActionLink 知识点总结。@Html.ActionLink有10个重载,示例代码说明@Html.ActionLink("Lin...
阅读全文
摘要:asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的切换,大大提升了我们的开发效率。但是Razor语法还是有一些棉花糖值得我们了解一下,可以更加强劲的提升我们的开发效率,减少开发bug的出现。 Razor 采用的是@ 尾巴符号,正是这个符号成就了Mvc开发效...
阅读全文
摘要:asp.net MVC是一个具有极大扩展性的框架,可以在从Url请求开始直到最终的html的渲染之间进行扩展,所以要学好还是需要了解框架的运行原理,推荐Artech. 今天我们回忆的不是MVC中的filter,也不是Controller的激活或者是Action的执行,或者是Url路由Route...
阅读全文
摘要:构造函数这个概念,在我们刚开始学习编程语言的时候,就被老师一遍一遍的教着。亲,现在你还记得静态构造函数的适用场景吗?如果没有,那么我们一起来复习一下吧。静态构造函数是在构造函数方法前面添加了static关键字之后形成的,并且没有修饰符(public,private),没有参数。静态构造函数有哪些...
阅读全文
摘要:在前几篇博客中我有说到服务的寄宿,就是服务要运行起来必须采取的几种方式,相当于我们可以照葫芦画瓜的效果运行一个wcf服务,但是那只是实践,我们知其然更要知其所以然,所以从今天开始我们开始介绍wcf的三大部分:契约、绑定以及服务。当然这其中会有很多的细节问题,比如说终结点等等,我们穿插着进行。今天就先来预习一下契约,也称为合同(Contract).wcf的契约一共包括几种:数据契约、服务契约、消息契约、错误契约。既然是预习,那么我们就一起来学习一下这几种契约的作用。数据契约:DataContract 是用来对wcf的数据传输进行串行化。说到串行化,.net中也有串行化,但是.Net的串行化是把所
阅读全文
摘要:wcf 的服务寄宿方式大致可以分为两种,一种就是自我寄宿,另一种就是通过操作系统的组件进行寄宿。wcf的服务需要承载于一个被称为宿主的应用程序中。宿主程序为请求监听、消息处理、服务激活、以及操作执行提供了一个运行环境。我们将利用宿主程序来承载服务的操作称为服务寄宿。自定义一个控制台应用程序、Windows程序或其他类型的程序作为承载服务的宿主,我们将这种方式称为服务寄宿(Self-Hosting).另一种就是通过操作系统现有的进程激活方式为wcf服务提供宿主,包括IIS、WAS(Windows激活服务)、Windows 服务等几种。既然说到了寄宿,我就多说一句,就是IIS寄宿不需要启动,因为I
阅读全文
摘要:可能大家会觉得我说完了wcf的介绍以后,会介绍wcf的契约、服务这些内容,但是我没有,为什么呢?原因就是我一直坚持的从程序员中来,到程序员中去的观点。程序员的学习是一个渐进的过程,不是有了介绍就可以直接了解wcf的全貌,但是我也没有介绍wcf的配置,因为这个内容很多,但是我今天要介绍的是wcf中的一个知识点,这个知识点只是一个渐进的过程,但是知道了这个知识点以后,我们可以避免很多错误的发生。所以我说一下wcf中的一个Attribute ConfigurationName。在很多的契约及其服务行为属性中我们都可以看到这个属性的存在,但是这个属性究竟是做什么的。如果不仔细看一下很真是有些误导,但是
阅读全文
摘要:在上一篇博客wcf 基础教程 第一讲 wcf基础知识中,因为篇幅过长,所以我选择在这一篇把wcf用IIS承载的方式介绍一下。首先我们在WebHosting web项目中创建一个.svc的文件,这里我建议之间添加一个类,然后把文件后缀改成.svc就可以。我们添加了一个CalService.svc文件。1 <%@ServiceHost Service="Chinaer.WcfDemo.Services.CalService" Debug="true" %>添加了这个文件以后,我们在web.config中进行简单的配置。 1 <system.
阅读全文
摘要:最近工作有点忙,感觉有点累啊,很久没有更新博客了,看到自己的博客访问量日渐下降,我于心不忍,决定还是重新开博来吸引大家的关注。这次要说的不是别的,正是大名鼎鼎的wcf。或者在中间我会穿插MVC的说明,毕竟上一个系列MVC也没有写完就过年了,这次希望能坚持到底。呵呵既然是基础,那我们就来了解一下wcf的前生今世。然后再用一个小实例说明一下就可以结束了。SOA(面向服务的架构) 大家都很明白,wcf就是.Net平台下为了这个目的为出生的一个精品,作为微软技术的大一统,可以说值得我们深入的学习。WCF(Windows Communication Foundation)是作为.Net framewor
阅读全文
摘要:在我们日常的开发中,导出图片可以说是很必须的事情,我们可以采用各种handler来处理,但是今天我们不说别的,就说说FusionChart插件作为flash显示图表,如何导出成图片吧。这个功能说简单,其实非常简单,就是添加几个属性,但是要说复杂,那可是也挺恶心,我就把这些导出图片的各种参数都测试了一遍,也找到了一个经典的问题,如果不测试几次,还真不容易发现问题所在。好了,我们一起来学习一下应该如何导出图片呢。FusionChart插件的使用,我就不叙述了,在我的昨天的博客中fusionChart 图表插件 我们要显示漂亮的图表 就来看看 我进行了简单的介绍,今天介绍导出图片的功能,基本上我们对
阅读全文
摘要:Fusionchart插件是用来显示各种各样的图表 的有用插件,我们有必要为了以后我们显示图表的时候少走弯路,来了解一下这个插件的使用。首先我们来看一下FusionChart插件可以用来显示的图表类型,我在这里只是列举几个图表类型,因为FusionChart支持很多种图表的输出,所以我们仅仅用来说明几个图表类型。2D柱状图 3D柱状图3D饼图2D折线图我再这里只是简单的列举了几个常用的图表类型,当然还会有很多图表我们会用到,但是FusionChart插件,如果我们可以熟练使用其中一种,那么对于其他的图表类型都是小菜一碟,所以我们拿出来一个图表饼图 作为例子。因为FusionChart接受xml
阅读全文
摘要:asp.net MVC 提供了模型验证的快捷方式,我在上一篇博客中有专门提到模型验证的类型以及如何自定义验证,这次我们来探讨一下模型验证信息如何本地化,活着直白点说如何在不同语言中显示不同的错误信息。咱们先来说一下,不采用资源文件,我们如何处理错误信息的。首先我们定义UserModel 领域模型类1 public class UserModel2 {3 [Required(ErrorMessage="用户名不能为空")]4 public string UserName { get; set; }5 6 [Required(Erro...
阅读全文
摘要:继续我们前面所说的知识点进行下一个知识点的分析,这一次我们来说明一下数据验证。其实这是个很容易理解并掌握的地方,但是这会浪费大家狠多的时间,所以我来总结整理一下,节约一下大家宝贵的时间。在MVC 3中 数据验证,已经应用的非常普遍,我们在web form时代需要在View端通过js来验证每个需要验证的控件值,并且这种验证的可用性很低。但是来到了MVC 新时代,我们可以通过MVC提供的数据验证Attribute来进行我们的数据验证。并且MVC 提供了客户端和服务器端 双层的验证,只有我们禁用了客户端js以后,也会执行服务端验证,所以大大提高了我们的开发进度。今天我们就一起以一个初学者的身份来进入
阅读全文
摘要:我在上一篇博客不要停留在表面,MVC 3 我们要深入一些 说明了我们的掌握程度还是不够,还需要我们继续努力。但是有园友质疑说他们认为我说的只是书院派,并不实用,这令作为程序员的我很是生气。好吧,那咱们就一起来学习一下其中的一个知识点:ActionResult吧。希望你不是大牛,没有完全的掌握。ActionResult 是MVC中Action 执行之后返回的结果,我们可以通过ResultFilter 来横向的操作这些返回数据。可以说在MVC中,只要返回值不是void,或者可以这么说吧,每个Action的返回值都是ActionResult。你可能有些不服气,我怎么知道这些,怎么确定这些是正确的不是
阅读全文
摘要:其实在MVC 中只存在三大组件,Model、View、Controller,其中Model用来作为业务逻辑处理,Controller负责的是Model和View的交互,View负责页面显示。这是非常简单的结构,但是在MVC中有着非常好的可扩展性,我们可以通过对MVC进行全面的扩展来实现我们自己的框架结构或者是实现方式。简单的利用MVC来实现一些页面的实现是非常容易的,并且不需要我们付出太大的精力。但是这不能真正的让我们了解到底什么是MVC?为什么要使用MVC?MVC是一个非常优秀的框架,它的优秀程序甚至比Web form的到来还要先进,但是我们对于web form的学习是投入了很大的精力的,各
阅读全文
摘要:作为一个开发者,我们不希望技术很快的更新,这是因为我们还没有完全掌握原来技术的基础上,又要掌握新的技术,作为天天忙忙碌碌的程序员,我们不希望还要额外的时间来学习,尤其是当我们的年龄,逐渐的变大的时候,但是有时候跟上时代的步伐也会给我们带来很多的好处,我今天要说的主题就是让我们从MVC 2 升级到MVC3 吧,因为他带给我们太多的是惊喜,而不是学习的苦恼。可能有的园友要嗤之以鼻了,每个技术的更新都会带来新的学习点,我们总是要不断的学习来跟上他们,我们会很累的?的确,作为一名程序员,我们每天总是睡得很晚,起的很早,很多人喜欢叫我们夜猫子,因为只有在夜深人静的时候,我们才能投入精神来学习而不被打扰。
阅读全文