ASP.Net MVC2 简介
-
Upload
allen-lsy -
Category
Technology
-
view
604 -
download
1
description
Transcript of ASP.Net MVC2 简介
AllenLSY allenlsy.com
知道Visual studio 是做什么的 对网站开发有一点了解 对MVC架构有个大概的了解(CSC207) 了解一点Design Pattern的东西会更好
(CSC207) html, javascript有一定了解(CSC302) 编程语言的理论知识有一定了解(CSC301)
1. C# 语言的发展和特性 2. ASP.net WebForm 3. ASP.net MVC2 4. 安全 5. ASP.net网站扩建和优化
C# 3.0 C# 4.0
2000,为.net framework量身定做 .net framework是2002年随着Visual Studio .NET
出的第一版 与Java相比 运算符重载 代理 强类型和弱类型都支持
新特性 Extension Methods Lambda Expression LINQ
I know how it works because I know why it works
如果要为类添加一些函数,怎么办? Partial class(Java没有这功能)
如果要为基础类添加一些函数,怎么办? C# 1.0, 2.0: Static methods C# 3.0: Extension Methods
ExtensionMethods.cs 输出: YSLnellA
如何将一个List排序? public virtual void Sort( IComparer comparer ) C# 1.0 如何实现?实现接口 C# 2.0 如何实现?Anonymous Methods C# 3.0 如何实现?Lambda Expression
lambda.cs
如何从一个数组中找符合某些条件的元素? 比如我想找最便宜的关于LINQ的书
linq.cs
C# 2.0: Imperative programming 命令式编程 C# 3.0: Declarative Programming 声明式编
程
ASP.net 和 ASP.net MVC 的比较 ASP.net 特色功能
ASP.net WebForm > ASP.net MVC 很多技术细节不一样,后面详述
M: Model, V: View, P: Presenter
为什么MVP好一些,微软还是要再做一个MVC框架呢?
Security 安全机制 Membership 成员关系 Caching 缓存
表单认证 Windows认证
自动创建了管理用户的数据库 提供了安全控件,比如登陆控件,找回密
码控件,登录状态控件等等 提供角色管理
用于缓存从服务器中检索出来的内容,以提高网站的访问性能。
memcached也实现了相关功能
ASP.net 和 ASP.net MVC 的比较 ASP.net 特色功能
Model的功能 保证数据存取的完整和正确
建立数据库 使用LINQ to SQL,或者Entity framework,
再加上自己的代码,建立Model层 加入各种限制标签,用于数据验证之类的
View的功能 接受要显示的数据,并把它显示出来
Controller的功能 保证业务逻辑正确
ASP.net 与 MVC的最大不同 Routing vs URLRewriting ▪ Routing更强大 ▪ 匹配规则 ▪ 约束
到RouteTable去匹配,找到Controller和Action
检查是否能够调用这个Action get/post ? authenticated ? authorized ?
Tweeter 用户可以登录,发微博。没登陆的用户必须先登录 用户先登录,然后进入微博页面。在微博页面能看
到自己的所有微博 Database - Users, Tweets
URL请求 /:显示首页 /User:显示用户首页,里面包含tweet界面,
tweets list
常见攻击方式 XSS
用户输入的html标签要过滤掉 不要对任何人不加检查的使用html输入。
比如白名单,因为其身份容易被盗用
SQL注入攻击 Cookie窃取 分布式拒绝服务攻击 DDOS 跨站脚本攻击 XSS
跨站脚本攻击有两个类型 被动攻击 ▪ 用户输入中有恶意脚本,将这一信息保存到服务器数
据库。别的用户看着段信息时就被攻击了
主动攻击 ▪ 直接把信息推到用户端
No blog! Sorry :<
<a href=“No Blog! Sorry :<“>Rob Conery</a>
“><iframe src=“http://haha.juvenilelamepranks.example.com” height=“400” width=“500”/>
<a href=““> <iframe src=“http://haha.juvenilelamepranks.example.com” height=“400” width=“500”/> “>Rob Conery</a>
“></a><script src=“…”></script><a href=“
Database Optimization Web farming Caching SEO Email
扩建之前可能用到的工具 依赖注入工具 Dependency injection,也叫做控
制反转 Inversion of Control ▪ StructureMap
日志工具 ▪ Log4net
测试工具 ▪ NUnit, RhinoMocks
小型网站扩建到中型网站时需要做的工作 Database Optimization Web farming Caching SEO Email
Flagging rather than deleting Indexing
把常用的东西放在服务器的RAM中,而不是数据库
Memcached支持asp.net
缓存和Indexing的不足 SQL Server有全文索引技术 Lucene.net
从网站发送邮件很慢,对于每封邮件都需要链接smtp服务器,并且等待。
建立一套独立的系统,系统中实现了一个Queue。系统会在网站较为空闲时发这封邮件。
C# 部分 CSharp 4 Nutshell
ASP.net 部分 Wrox. Professional ASP.NET.3.5.SP1 ASP.NET.3.5.Social Networking Beginning ASP.net 3.5 in C# 2008 from novice to
professional ASP.net MVC 部分 Professional ASP NET MVC2 Web开发新体验ASP.NET.3.5.MVC架构与实战 Programming.Microsoft.ASP.NET.MVC
软件工程思想 部分 设计模式:可复用面向对象软件的基础 Agile Software Development Code Complete 重构:改善既有代码的设计