深入理解ASP.NET MVC(10)
摘要:系列目录前言Model是MVC强大的机制之一,它是MVC框架中客户端和服务端数据交互的核心机制。深入的理解Model有助于我们自己在MVC的基础上扩展,也有助于我们创造出更具复用意义的软件模块。主要包含以下议题: Templated view helpers:根据Model生成Html控件元素 Model Binding:自动映射和解析用户提交的数据 Integrating validation:集成客户端认证我们知道ASP.NET web应用程序的数据交互其实就是客户端表单数据和.NET对象(Model)之间的转化。下图说明了这个问题: 在MVC中,众多HTML Helper负责将Mo
阅读全文
OMS开发随笔之开发和部署要点
摘要:OMS开发随笔之概述上一篇中,介绍了OMS的特点和基本的开发概述,这篇详细谈谈具体在实践中遇到的问题及解决方案。本文之涉及到普通短信的开发,不包括彩信。OMS的开发要点总的来说开发oms没有太大的困难,毕竟只有四个接口,参数也不是很复杂。强烈建议在服务端的代码中加入日志功能以便调试。在实际操作上遇到的问题如下:GetServiceInfo的返回值说明对于GetServiceInfo的返回值中某些属性的意义,做一下说明,详见官方文档:这些值是由服务端设定的,对于serviceInfo整个内容可以用一个固定的xml文件存储,服务端程序只要简单的读入并返回给客户端即可。上面提到的四个属性值,会影响O
阅读全文
OMS开发随笔之概述
摘要:OMS(Outlook Mobile Service)是为Outlook Mobile插件提供短信收发功能的Web Service。事实上,Outlook仅仅提供一个集成在Outlook内的插件客户端,这个客户端通过配置,指向一个短信供应商的web服务,并自动通过协定的接口调用web服务,由web服务负责接受Outlook发来的SOAP请求,实现真正的短信发送。目前该项功能在中国区微软认证的服务提供商如下可以在如下网站上查询到http://messaging.office.microsoft.com/HostingProviders.aspx?src=O14&lc=2052。从理论上讲,任何人
阅读全文
深入理解ASP.NET MVC(9)
摘要:系列目录异步处理请求的意义大伙儿都知道,ASP.NET通过线程池处理请求,对于每个请求从线程池中请求一个可用的线程来处理请求,当请求处理完毕之后,线程资源将被归还到线程池。然而,线程池中的线程是互斥资源,当网站在同一时刻的请求量达到一定数量的话,必然会导致这种资源不够耗尽,新来的请求只能等待有新的线程归还才能被处理。当然这不是最糟糕的,通常每个请求只需要很短的时间就可以了,新的请求不会等待太长的时间,但是,如果处理请求需要花费较长的时间呢?比如一次耗时的数据库查询、一次外部web service请求这类的IO操作。注意这里特指的IO操作,指的是不会占用ASP.NET线程池线程的,甚至不占用本机
阅读全文