asp.net webapi 参数绑定总结
摘要:首先必须得更正下自己一直以来对于get请求和post请求理解的一个误区:get请求只能通过url传参,post请求只能通过body传参。 其实上面的理解是错误的,翻阅了不少资料及具体实践,正确理解应该是:get和post是http协议(规范)定义的和服务器交互的不同方法,get用于从服务器获取资源(
阅读全文
javascript基本概念
摘要:1:typeof 用来判断变量的数据类型,虽然null是Null数据类型,但返回的是object数据类型;虽然函数是object数据类型,但返回的是function类型var x=null;typeof x;"object"function x(){}; typeof x;"function"2:u...
阅读全文
javascript中所谓的“坑”收录
摘要:坑一:// 反例myname = "global"; // 全局变量function func() { alert(myname); // "undefined" var myname = "local"; alert(myname); // "local"}func();理解:J...
阅读全文
JS调用webservice的两种方式
摘要:协议肯定是使用http协议,因为soap协议本身也是基于http协议。期中第二种方式:只有webservice3.5以后版本才可以成功第一种方式:构造soap格式的body,注意加粗的黄色标识,比如:createXMLHttpRequest(); var data; data = ''; data ...
阅读全文
反射体验(转)
摘要:一、麻烦前的宁静:“老赵,嗯,帮忙测试一下这个方法。”唉,同伴传过来一个托管dll文件。唉,真麻烦啊,为什么不用CVS呢?用个VSS也好啊。老赵一边抱怨着一边打开了VS.Net 2003。测试嘛,总免不了使用NUnit。想到NUnit的艺术性,啧啧,老赵总要赞叹一番,看着“环保”的绿色就让人有一种心...
阅读全文
什么是Emit,什么是反射,二者区别到底是什么?(转)
摘要:Emit的准确定义,我们看看微软给出的答案System.Reflection.Emit命名空间包含{允许编译器或工具发出元数据和发出Microsoft 中间语言 (MSIL) ,并可选择在磁盘上生成 PE 文件的类。这些类的主要客户端是脚本引擎和编译器。}Emit可以直接让编译器发出元数据及msil...
阅读全文
关于可空类型
摘要:可空类型修饰符“T?”:可空类型的基础类型可以是任何非可空值类型或任何具有struct约束的类型参数,但不能是可空类型或引用类型。例如:int?代表是可空的整形,而int??则是无效类型。即可空类型可以表示其基础类型的所有值和一个额外的空值。语法 T?是System.Nullable的缩写形式。可空...
阅读全文
学习IIS & MVC的运行原理 (转)
摘要:我一直疑惑于以下问题,从客户端发出一个请求,请求到达服务器端是怎样跟iis衔接起来的,而iis又是怎样读取我发布的代码的,并返回服务器上的文件。这其中是怎样的一个处理过程。1:当你从浏览器中输入一个地址或点击一个链接开始,你就已经发出了一个http请求(会根据请求者请求的主机头或者IP或者端口号来找到对应的站点);2:根据http协议,当请求到达相应的主机服务器时,由服务器上的系统进程http.sys(可以理解为专门处理http请求的进程)接收;3:http.sys接收到请求信号后,传递给应用程序池的工作者进程,即IIS进程 inetinfo.exe,注意:这时候服务器进程与IIS衔接起来了。
阅读全文
MVC-READ4
摘要:internal BuildManagerCompiledView(ControllerContext controllerContext, string viewPath, IViewPageActivator viewPageActivator, IDependencyResolver dependencyResolver){ if (controllerContext == null) { throw new ArgumentNullException("controllerContext"); } ...
阅读全文
MVC-READ2
摘要:框架设计模式 契约式设计、元编程、元数据驱动设计、管道模型、远程代理模式、提供程序模型;
阅读全文
MVC-READ1
摘要:将具有不同稳定性的元素融为一体,具有最差稳定性的元素决定了整体的稳定性,这是“短板理论”在软件设计中的体现.MVC的创建者是Trygve M. H. Reenskau,他是挪威的计算机专家,同时也是奥斯陆大学的名誉教授。MVC是他在1979年访问施乐帕克研究中心(Xerox PARC,Xerox Palo Alto Research Center)期间是提出一种主要针对GUI应用的软件架构模式。MVC最初用于SmallTalk,Trygve最初对MVC的描述记录在《Applications Programming in Smalltalk-80(TM):Model:是对应用状态和业务功能的封装
阅读全文
@@ERROR和@@ROWCOUNT的用法
摘要:1. @ERROR当前一个语句遇到错误,则返回错误号,否则返回0。需要注意的是@ERROR在每一条语句执行后会被立刻重置,因此应该在要验证的语句执行后检查数值或者是将它保存到局部变量中以备将来使用。具体的分析请看下面的代码,一目了然。Update AF_CarInfo SET CarInfoID = 19 Where OilCost = 13 --执行后@@ERROR为547PRINT @@ERROR --执行后@@ERROR为0IF @@ERROR = 0BEGIN PRINT @@ERROREND-----------------------------------------------
阅读全文
异常以及异常处理框架探析(转)
摘要:摘要:本文主要与您探讨异常以及异常处理相关方面的一些知识,主要包括检查异常与非检查异常的理解,多视角观察理解异常,进而探讨关于构建稳健且可扩展的异常框架方面的一些设计原则。 概述 一般情况下,企业级应用都对应着复杂的业务逻辑,为了保证系统的健壮,必然需要面对各种系统业务异常和运行时异常。 不好的异常处理方式容易造成应用程序逻辑混乱,脆弱而难于管理。应用程序中充斥着零散的异常处理代码,使程序代码晦涩难懂、可读性差,并且难于维护。 一个好的异常处理框架能为应用程序的异常处理提供统一的处理视图,把异常处理从程序正常运行逻辑分离出来,以至于提供更加结构化以及可读性的程序架构。另外,一个好的异常...
阅读全文
.Net深入学习序列化和反序列化 (转)
摘要:序列化:.net的运行时环境用来支持用户定义类型的流化的机制。它是将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。 序列化的目的: 1、以某种存储形式使自定义对象持久化; 2、将对象从一个地方传递到另一个地方。 实质上序列化机制是将类的值转化为一个一般的(即连续的)字节流,然后就可以将该流写到磁盘文件或任何其他流化目标上。而要想实际的写出这个流,就要使用那些实现了IFormatter接口的类里的Serialize和...
阅读全文
可扩展对象模式(转)
摘要:摘要:本文介绍了如何使用WCF中提供的可扩展对象模式扩展HttpApplication,事实上可扩展对象模式的作用远不在此,它可以扩展.NET类库中任何我们想对其进行扩展的对象,或者是一个自定义的类型,都可以使用可扩展对象模式对其进行扩展。 概述 HttpApplication对象对于做ASP.NET开发的朋友,我想没有人不熟悉它。在ASP.NET开发中,经常避免不了要在HttpApplication中执行一些操作,如使用了ASP.NET MVC框架,就会在Application_Start 事件中避免不了这样的路由规则配置代码:protected void Application_Sta..
阅读全文
Javascript – How Prototypal Inheritance really works(vjeux)
摘要:Everywhere on the web we read that Javascript has prototypal inheritance. However Javascript only provides by default a specific case of prototypal inheritance with the new operator. Therefore, most of the explanations are really confusing to read. This article aims to clarify what is prototypal inh
阅读全文
如何判断Javascript对象是否存在(转)
摘要:Javascript语言的设计不够严谨,很多地方一不小心就会出错。举例来说,请考虑以下情况。现在,我们要判断一个全局对象myObj是否存在,如果不存在,就对它进行声明。用自然语言描述的算法如下: if (myObj不存在){ 声明myObj; }你可能会觉得,写出这段代码很容易。但是实际上,它涉及的语法问题,远比我们想象的复杂。Juriy Zaytsev指出,判断一个Javascript对象是否存在,有超过50种写法。只有对Javascript语言的实现细节非常清楚,才可能分得清它们的区别。第一种写法根据直觉,你可能觉得可以这样写: if (!myObj) { myObj =...
阅读全文
非托管资源的释放
摘要:1、基础知识准备:C#中的数据类型分为两种:值类型(int,char,double等)和引用类型(数组,用户自定义类型(包括类,接口,委托),object,字符串),对应也就有值类型的变量和引用类型的变量;面向对象编程中,简单数据类型是存放值的变量,这种变量关心的是值,因而称为值类型,另外,C#在堆(Heap)中创建和维护对象(一般是类),程序使用对象的存储地址来引用这个对象,这类用来保存地址的变量被称为引用类型变量;一个程序运行时,变量主要存放在“堆”和“栈”中,“栈”中主要用于存放“子函数的临时变量,局部变量”,“堆”中主要用于存放“全局变量,静态变量,new产生的变量”,托管资源主要研究
阅读全文