关键字:
  • Web、移动开发之ASP.Net:(3)ASP.Net原理

    作者: king       发表时间: 2016-08-21 14:22
    1.ASP.Net请求处理原理 Web开发就是Http请求 服务端处理 Http响应。ASP.Net Web开发就是基于ASP.Net技术对客户端请求进行处理和响应的开发。 1.1 ASP.NET技术简介 ASP.NET是一种动态网页技术,在服务器端运行.Net代码,动态生成HTML,然后响应给浏览器。    ASP.NET应用程序有主要有WebService(asmx)、WebForm(ashx、aspx)、MVC(Model, View , Controler)这几类。 ASP.NET里的常用文件分类如下: HttpApplication   .asax 继承了HttpApplication类,包含 ASP.NET 应用程序级事件,全局应用程序(Global.asax),对所有的请求生效。 HttpHandler和HttpModule能做的在HttpApplication中都能做,之所以做区分,是为了便于模块化管理,避免HttpApplicatio...
  • Web、移动开发之ASP.Net:(2)Http协议及Web服务原理

    作者: king       发表时间: 2016-08-21 13:57
    2、HTTP协议及Web服务器 HTTP协议内容:请求报文,响应报文,get和post请求方法等。 HTTP协议将socket原理和ASP.NET内部原理(基础是HttpHandler)串了起来。 承前:基于在socket聊天程序上的拓展,实现遵循HTTP协议的处理请求和进行响应的服务器程序。 启后:引出IHttpHandler接口,ProcessRequest方法,Request,Reponse,静态页面和动态页面处理等ASP.NET的重要概念以及基本原理(Web开发就是HTTP请求 Http响应)。 2.1 HTTP协议基础 2.1.0 HTTP、Tcp与Socket SOCKET与Tcp socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API), 通过Socket,我们才能使用TCP/IP协议。实际上,Socket跟TCP/IP协议没有必然的联系。 SOCKET连接与HTTP连接  由于通常情况下Socket连接就是TCP连接,因此Socket连接一旦建...
  • Web、移动开发之ASP.Net:(1)Socket通信及简易聊天程序

    作者: king       发表时间: 2016-08-21 13:22
    1、Socket通信及简易聊天程序 1.1 三级寻址 网络通信中通信的两个进程分别在不同的机器上。在互连网络中,两台机器可能位于不同的网络,这些网络通过网络互连设备(网关,网桥,路由器等)连接。因此需要通过三级寻址来访问网络上其他机器的应用程序: (1)协议:例如Tcp、FTP、Http协议等;(Http) (2)IP地址:某一主机可与多个网络相连,必须指定一特定网络地址;同IP下特定的计算机:网络上每一台主机应有其唯一的地址;(IP) (3)端口号:每一主机上的每一进程应有在该主机上的唯一标识符。(Port) 例如 http 使用80端口  ftp使用21端口 smtp 25端口   端口号:低端口号(默认)中端口号(系统随机分配的)高端口号(推荐用户使用的)   TCP和UDP比较: 传输视频或声音强调速度用UDP 如视频聊天, 发文件的时候,保证数据的完整和正确,用TCP。 UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接收到的数据也...
  • Web、移动开发之C#:(8)C#语言特性之Linq

    作者: king       发表时间: 2016-07-30 18:07
    1.Linq用到的基础知识 1.1 集合初始化器、对象初始化器 List<Person> people = new List<Person>{             new Person { FirstName = "Scott", LastName = "Guthrie", Age = 32 },             new Person { FirstName = "Bill", LastName = "Gates", test02 = 85},             new P...
  • Web、移动开发之ORM框架:(1)EF

    作者: king       发表时间: 2016-07-30 12:30
    1.EDM 1.1 EDM简介 EDM是实体数据关系映射的XML文件,主要有三部分构成CSDL(Conceptual schema definition language),SSDL(store schema definition language),MSL(mapping specification language)。CSDL表明的是实体数据模型结构,SSDL表示对应的数据存储的架构,CSDL实体与SSDL数据结构的关系通过MSL映射实现。 EDM是通过ADO.NET 实体数据模型生成的,生成EDM文件的方式有两种,一种基于是数据库(DataBase First),一种是创建空EDM模型(Model First)。 一个包含区域和类型两个表的EF实体模型,打开方式选用记事本,打开Model.edmx文件,可以看到如下代码: <?xml version="1.0" encoding="utf-8"?> <edmx:Edmx Version="2.0" xml...
  • Web、移动开发之C#:(9)C#常用类库5:正则表达式

    作者: king       发表时间: 2016-07-21 00:40
    5.正则表达式类 5.1正则表达式 5.1.1正则表达式简介 正则表达式由一些普通字符和一些元字符(metacharacters)组成。 普通字符包括大小写的字母和数字,而元字符则具有特殊的含义。   在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。 例如,正则表达式"testing"中没有包含任何元字符,它可以匹配"testing"和"123testing"等字符串,但是不能匹配"Testing"。  要想真正的用好正则表达式,正确的理解元字符是最重要的事情。 5.1.2 基础的元字符 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“\n”匹配字符“\n”,序列“\\”匹配“\”,而“\(”则匹配“(”。 ^ 匹配输...
  • Web、移动开发之C#:(9)C#常用类库4:XDocument

    作者: king       发表时间: 2016-07-21 00:38
    4.XDocument类 4.1 XDocument类相关方法   名称 说明 Add(Object) 将指定的内容添加为此XContainer的子级。(继承自XContainer。) Add(Object[]) 将指定的内容添加为此XContainer的子级。(继承自XContainer。) AddAfterSelf(Object) 紧跟在此节点之后添加指定的内容。(继承自XN...
  • Web、移动开发之C#:(9)C#常用类库3:文件操作类

    作者: king       发表时间: 2016-07-21 00:37
    3.文件操作类 3.1Path(静态类) 命名空间:System.IO.Path 定义:public static class Path 说明: 1)Path 类的大多数成员不与文件系统交互,并且不验证路径字符串指定的文件是否存在。 2)Path 类的成员可快速方便地执行如确定文件扩展名是否是路径的一部分、将两个字符串组合成一个路径名的操作。 3)Path 类的所有成员都是静态的,因此无需创建实例即可访问。 3.1.1Path类的重要方法 1)Path.ChangeExtension() 方法 定义:public static string ChangeExtension(string path,string extension) 说明:(基于Windows桌面平台上) 如果 path 是 null 或空字符串 (""),则返回的路径信息是未修改的。 如果 extension是null,则返回的字符串包含指定的路径,扩展名已移除。 如果 path 没有扩展...
  • Web、移动开发之C#:(9)C#常用类库2:集合

    作者: king       发表时间: 2016-07-21 00:35
    2.集合 2.1集合—ArrayList(“动态数组”) 引子:数组的长度是分配好的,不可以随时变化。集合的长度是可变的。 ArrayList:使用大小可按需动态增加的数组实现 IList 接口,集合中项(items)的类型是object的类型,即可以是各种不同的类型。 (1)增:Add()、AddRange()、Insert()、InsertRange() int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; ArrayList arraylist = new ArrayList(); arraylist.Add("一个集合"); arraylist.Add(123); arraylist.Add(nums);          //整个数组作为一个元素加进去 arraylist.AddRange(nums);  ...
  • Web、移动开发之C#:(9)C#常用类库1:String

    作者: king       发表时间: 2016-07-21 00:34
    1.String 一个String代表一个不可变的顺序字符集。String是一个密封类。 1.1构造 String s = "abc"; String s = "abc" "123"; string str = new string('h',3);   //字符重复count次,得到字符串 string str1 = new string(new char[] { 'h', 'a' }); //从字符数组得到字符串 1.2比较 Equals 比较两个字符串对象是否相等。比较相等只需要涉及是否忽略大小写。 静态方法: public static bool Equals(string a, string b); String.Equals("abc", "Abc...
  • Web、移动开发之C#:(8)C#语言特性

    作者: king       发表时间: 2016-07-21 00:25
    C#语言主要特性 以下内容一部分从Jon Skeet的《深入理解C#(中文第三版)》(译者:姚琪琳)整理而来,有进一步兴趣的朋友可以阅读原著。 本文从互联网获取了部分内容做为素材。如果您认为侵犯到您的权利,请联系本人进行处理,本人邮箱:kinglong1984@126.com。   C#1和Java语言非常相似,C#还包含一些额外的特性:属性、委托和事件、foreach循环、using语句、显示方法重载、操作符重载、自定义值类型等。   C#1中“委托”是一个语言级特性,而在Java语言中没有直接的对应,但是我们可以通过动态代理来实现委托! C#2与类型相关的主要新特性是泛型;同时通过匿名方法对C#1的委托进行了增强。 C#3的核心是LINQ,可通过Lambda表达式实例化委托,是对委托的进一步增强。 C#4之前,已引入了很多与动态(及函数式)语言相关的特性。 C#4增加了真正实用的动态类型。 C#5新增了异步编程的功能。 C#1 委托 ...
  • Web、移动开发之C#:(7)C#类型成员

    作者: king       发表时间: 2016-07-21 00:21
    1.类型的成员 类的内部是class下面的花括号范围内的内容:   常量成员:const 修饰的成员,隐式静态常量,只读的,不能修改,用“类名.成员名”实现只读访问。常量的值直接嵌入代码,运行时不用为其分配内存,不能获取常量的地址。 常量的值更改后,若只生成Dll程序集,应用程序不会受到影响,需重新编译应用程序,才能修改生效。如果是可能变化的,static readonly 的字段可解决以上版本更新问题。   静态成员:static修饰的成员,属于类,不属于类的每个实例,用“类名.成员名”实现读写访问。静态成员不属于该类的某一个对象,这个类及所有实例都可以共同访问。 任何对象随时都可以访问这个成员,修改的值会一直保留下去。 实例成员:默认情况非静态、非常量的所有成员都是实例成员。new一个实例出来后,通过这个实例才能调用的实例成员。   数据成员:类或实例的数据。字段。 函数成员:类或实例的操作。属性(特性)、构造函数、方...
  • Web、移动开发之C#:(6)C#引用类型

    作者: king       发表时间: 2016-07-21 00:18
    1.类 类是 .NET Framework 中的常规类型系统的一种基本构造,封装着一组整体作为一个逻辑单位的数据和行为。 数据和行为是该类“成员”,它们包含方法、属性和事件等。 类是一种“引用类型”。 创建类的对象时,对象赋值到的变量只保存对该内存的引用。 将对象引用赋给新变量时,新变量引用的是原始对象。通过一个变量做出的更改将反映在另一个变量中,因为两者引为用同一数据。 类通常用于对较为复杂的行为建模,或对要在创建类对象后进行修改的数据建模( 结构最适合一些小型数据结构,这些数据结构包含的数据以创建结构后不修改的数据为主)。 静态类 不需要实例化的类,直接从System.Object派生。只能定义静态成员,不能定义实例成员,不能实现接口,不能做为其他类型的基类,不能做为字段、方法参数、或局部变量使用。 1.1 类的定义   从已有类派生自己的类,若没有指定父类,默认的直接继承自Object类。   值类型(结构类型)定义public ...
  • Web、移动开发之C#:(5)C#值类型

    作者: king       发表时间: 2016-07-21 00:12
    1.字符 System.Char 说明: 无符号的16位整数,数值范围从0~65535,占2个字节空间。 public struct Char : IComparable, IConvertible, IComparable<char>, IEquatable<char> {         //表示 System.Char 的最大可能值。此字段为常数。         public const char MaxValue = (char)0xffff;   //16^4-1 = 2^16 -1 =65535         //表示 System.Char 的最小可能值。此字段为常数。   ...
  • Web、移动开发之C#:(4)C#基元类型

    作者: king       发表时间: 2016-07-21 00:08
    1.C#基元类型 直接映射到FCL中存在的类型,生成的IL代码与使用FCL类型时生成的IL代码完全一致,C#编译器直接支持的数据类型。 C#基元类型中有一部分是与CLS相容的,其他语言也提供对应的基元类型。 2.C#基元类型清单 CLS相容部分 (1)整型 byte System.Byte 无符号的8位整数,数值范围从0~255 short System.Int16 有符号16位整数,数值范围-32768 ~ 32767 int System.Int32 有符号32位整数,数值范围-2147483648 ~ 2147483648 long System.Int64 有符号64位整数-9223372036854775808 ~ 9223372036854775808 char System.Char 代表无符号的16位整数,数值范围从0~65535。 Char类型的可能值对应于统一字符编码标准(Unicode)的字符集 (2)浮点型 float System.Single ...