摘要: C# 4.0中的新出现的dynamic关键字允许你做到很多以前很难实现的事情,但是dynamic也很容易让你忘记C#本身还是一个强类型的编程语言,所以,在使用中就会产生误区。最近我发现我自己想要创建测试用的View页面,后面有一个简单的控制器相对应。因为是临时使用,所以我使用了一个复杂匿名对象作为Model,并且使用dynamic视图来显示它。结果我错了….匿名类型的限制下面我们先看一段简单的示例来说明问题。下面给出控制器中的操作方法,传递一个匿名类型到前台的View模型中:[csharp] view plaincopypublic ActionResult UsingDynamic(){re 阅读全文
posted @ 2013-11-19 12:19 风舞烟 阅读(850) 评论(0) 推荐(0) 编辑
摘要: 要想解决第二个问题就没这么容易了,我们需要更深入的理解WebAPI的工作方式。 其实对于WebAPI来说,它最初被设计为和WCF一样的:客户端、服务端两套结构,我们到现在之所以还没有提到客户端,是因为我们的请求别的方式来封装成HTTP请求或接收HTTP相应的,比如AJAX和Form表单提交。 在这里先给出一个服务端的响应工作流,让大家有个大体上的认识 大 家可以看到,HTTP的请求最先是被传递到HOST中的,如果WebAPI是被寄宿在IIS上的,这个HOST就是IIS上,HOST是没有能力也没有必 要进行请求的处理的,请求通过HOST被转发给了HttPServer此时已经进入Web... 阅读全文
posted @ 2013-11-19 11:37 风舞烟 阅读(924) 评论(0) 推荐(1) 编辑
摘要: 要解决这些问题,要了解一下WebAPI的基本工作方式。(一)WebAPI中工作的Class在MVC中大家都知道,获取Request和Response使用HttpRequest和HttpResponse两个类,在WebAPI中使用两外两个类: HttpRequestMessage和HttpResponseMessage,分别用于封装Requset和Response。除了这两个类之外,还有一个常见的抽象 类:HttpMessageHandler,用于过滤和加工HttpRequestMessage和HttpResponseMessage(二)解决第一个问题其 实第一个问题之所以被提出来应该是和客户端 阅读全文
posted @ 2013-11-19 11:06 风舞烟 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 不管是因为什么原因,结果是在新出的MVC中,增加了WebAPI,用于提供REST风格的WebService,个人比较喜欢REST风格的WebService,感觉比SOAP要轻量级一些,而且对客户端的要求也更少,更符合网络数据传输的一般模式,客户端完全摆脱了代理和管道来直接和WebService进行交互,具体的区别可以参见Web 服务编程,REST 与 SOAP (一)环境准备 本机的环境是XP+VS2010,需要安装VS2010 SP1升级包,MVC4升级包,Vs2010安装SP1后会影响SQLServer2008的自动提示功能,需要在安装补丁或插件,安装成功后可以新建如下的 MVC ... 阅读全文
posted @ 2013-11-19 11:03 风舞烟 阅读(1887) 评论(0) 推荐(0) 编辑