TodoList开发笔记 – Part Ⅳ
跌跌撞撞总算是把客户端开发好了,后台的代码因为不复杂,就写了些单元测试跑一跑就算通过了,大部分时间都是在调整脚本。
这一节开始部署TodoList项目。
一.了解IIS(Internet Infomation Service)
一个Http请求从浏览器发送到服务器接收,其实是经过相当多的步骤的,我们不说客户端的,就单单服务器这边。
1.首先Http是基于Tcp协议的,那么作为服务器我们就得一直监听指定的端口去接收客户端连接,这件事由tcpip.sys内核驱动去帮我们完成。
2.连接完后捏从Tcp数据包中提取出Http数据包,还有客户端的信息,最后还要验证下这个数据包格式对不对,不对就丢了,这件事由http.sys内核驱动来完成。
3.然后要把Http请求根据其不同的Url放到不同的请求队列中去,这件事由WAS服务(SvcHost.exe)来做。
4.应用程序要去IIS注册想要处理的Url格式,比如*.aspx这类Url由Asp.Net的aspnet_isapi.dll处理。
5.WAS服务读取IIS主进程InetInfo.exe的元信息,得到这些Url与处理程序的映射,根据这些信息往http.sys添加或删除消息队列(http.sys内部有自己的映射)。
6.WAS服务会去启动IIS的工作进程w3wp.exe,让它处理相应的http队列,以后就由工作进程与http.sys直接沟通,WAS负责监视工作进程,必要时重启它。
7.工作进程会查询处理特定Url的组件去并加载,例如Asp.Net就会加载aspnet_isapi.dll,在这个过程中又会加载CLR。
8.CLR开始加载AppDomain(如果没有的话),AppDomain内可以包含多个站点,但是http请求只会交给对应Url的站点程序来处理。
9.程序处理的过程也挺繁琐,要经过HttpRuntime > HttpApplication > 构建HttpContext > HttpModule > HttpHandler等等,最终结果返回给http.sys发回客户端
以上可能不够详细,更多的细节可以参考IIS 原理及ASP.NET运行机制浅析
列了挺多的,其实IIS做的就是统筹全局的事。
二.服务器、域名
服务器就是普通的计算机,没什么特别的,我选了一家国外的VPS,虽然放这个项目太大材小用,不过我是打算用它来建立自己博客的哈哈。
域名就比较烦了,最近刚买了一个不过还没解析正确,DNS服务器的缓存急死人了。
三.发布
没什么好说的直接上图
因为项目没用到什么复杂的东西,一路从简很快就搞定了,最后把项目文件上传到VPS重新设置下端口就搞定啦~~~
大家可以访问这个地址看看效果,域名还没解析好,直接访问IP吧
TodoList开发笔记 – Part Ⅳ的更多相关文章
- TodoList开发笔记 – Part Ⅱ
上一节给出了应用的两个主要UML类图,应用采用的技术也给出了,这一节开始实际设计编码 一.应用公开的方法 其实就几个的方法而已 1.代办事项的CRUD 2.代办事项归类目录的CRUD 3.代表事项“已 ...
- TodoList开发笔记 – PartⅠ
做了一年多的桌面软件,最近开始转向Web方面的开发,既然比较熟悉Net那么首当其冲就是学习ASP.Net,以及HTML.CSS.Javascript. 为了检验这个把星期来的学习成果,着手做了一个To ...
- TodoList开发笔记 – Part Ⅲ
本节开始对TodoList项目的客户端进行开发 一.初步了解JQuery 其实我在学校时有接触过一段时间的Web开发,虽然代码量不多也不复杂,但也已经感受到了各浏览器对Web各项标准的恶意,Web界对 ...
- [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】
原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...
- EasyUI 开发笔记(二)
接上篇 :EasyUI 开发笔记(一) (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...
- EasyUI 开发笔记(一)
由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
- Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例
引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...
- Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境
引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...
随机推荐
- PC结束 Spark 二次开发 收到自己主动,并允许好友请求
本次Spark二次开发是为了客服模块的开发, 能让用户一旦点击该客服则直接自己主动加入好友.而客服放则需自己主动加入好友,不同弹出对话框进行允许,这方便的广大客服. 如今废话不多说,直接上代码. pa ...
- 《R实战》读书笔记三
第二章 创建数据集 本章概要 1探索R数据结构 2使用数据编辑器 3数据导入 4数据集标注 本章所介绍内容概括例如以下. 两个方面的内容. 方面一:R数据结构 方面二:进入数据或者导入数据到数据结构 ...
- Linux 火狐浏览器安装Flash插入
Linux系统安装完毕,找到Firefox浏览器和视频播放器不能总是提示安装Flash.而据火狐浏览器的提示Flash插件安装总是失败,能手动安装Flash插件啦. 到Flash官网:http://g ...
- Serverlet具体解释
Serverlet简单介绍: Servlet(Server Applet),全称Java Servlet,未有中文译文.是用Java编写的server端程序.其主要功能在于交互式地浏览和改动数据,生成 ...
- Chapter 2 User Authentication, Authorization, and Security(3):保server避免暴力袭击
原版的:http://blog.csdn.net/dba_huangzj/article/details/38756693,专题文件夹:http://blog.csdn.net/dba_huangzj ...
- crawler_基础之_java.net.HttpURLConnection 访问网络资源
java访问网络资源 由底层到封装 为 scoket==> java.net.HttpURLConnection==>HttpClient 这次阐述先 java.net.HttpURL ...
- Hadoop之环境搭建
初学Hadoop之环境搭建 阅读目录 1.安装CentOS7 2.安装JDK1.7.0 3.安装Hadoop2.6.0 4.SSH无密码登陆 本文仅作为学习笔记,供大家初学Hadoop时学习参考. ...
- SharePoint 2013 搜索SharePoint 特定列和特定文档(自己定义搜索)
SharePoint 2013 搜索SharePoint 特定列和特定文档 1,操作步骤和图例,因语言和版本号的不同 我尽量使用抓图方式. 2. In Central Administration, ...
- F4107Usart数据处理程序
解决:Cortex-M4上,usart自己主动发送数据计划. 1. usart快速突破.数据还没有被处理.usart中断会把盖掉的数据不被处理. 数据丢失. 2.此过程需要main处理4一个usart ...
- 赵雅智_Android编码规范
凝视 导入mycodetemplates.xml统一凝视样式 须要加凝视的地方 类凝视(必加) 方法凝视(必加) 块凝视主要是数据结构和算法的描写叙述(必加) 类成员变量和常量凝视(选择性加入) 单行 ...