<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhy1101854233的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhy1101854233</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhy1101854233]]></copyright><item><title><![CDATA[114.在哪里写路由映射表?]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552972</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552972</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:44:27 +0800</pubDate><description><![CDATA[a.在 “global.asax” 文件

]]></description><category></category></item><item><title><![CDATA[113.MVC的路由选择是什么?]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552966</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552966</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:43:57 +0800</pubDate><description><![CDATA[a.路由选择功能帮你定义一个URL规则，映射URL到控制器

]]></description><category></category></item><item><title><![CDATA[112.“HTML.TextBox” 和 “HTML.TextBoxFor”有什么不同？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552960</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552960</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:43:26 +0800</pubDate><description><![CDATA[a.它们两个输出相同的HTML， “HTML.TextBoxFor”是强类型的，但“HTML.TextBox”不是

]]></description><category></category></item><item><title><![CDATA[111.使用MVC有哪些好处?]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552956</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552956</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:42:56 +0800</pubDate><description><![CDATA[a.分离了关注点。后台代码被移到单独的类文件，我们可以最大限度的重复利用代码
b.自动化UI测试成为可能，因为后台代码移到了.NET类。这让我们更容易做单元测试和自动化测试

]]></description><category></category></item><item><title><![CDATA[110.MVC同时适用于Windows应用和Web应用吗?]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552954</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552954</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:42:26 +0800</pubDate><description><![CDATA[a.相比Windows应用，MVC架构更适用于Web应用
b.对于Windows应用，MVP(Model View Presenter)架构更好一点
c.如果你使用WPF和Silverlight，MVVM更适合

]]></description><category></category></item><item><title><![CDATA[109.MVC（模型、视图、控制器）架构的控制流程]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552951</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552951</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:41:56 +0800</pubDate><description><![CDATA[a.所有的终端用户请求被发送到控制器
b.控制器依赖请求去选择加载哪个模型，并把模型附加到对应的视图
c.附加了模型数据的最终视图做为响应发送给终端用户

]]></description><category></category></item><item><title><![CDATA[108.MVC有多少种不同类型的结果类型，请详细描述?]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552948</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552948</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:41:25 +0800</pubDate><description><![CDATA[a.有12种，最主要的是ActionResult类，它是一个基础类，它有11个子类型
b.ViewResult  - 给响应流渲染指定的视图
c.PartialViewResult  - 给响应流渲染指定的局部视图
d.EmptyResult  - 返回空的响应结果
e.RedirectResult  - 执行一个HTTP转向到指定的URL
f.RedirectToRouteResult  -执行一个HTTP转向到一个URL，这个URL由基于路由数据的路由引擎来决定
g.JsonResult  - 序列化一]]></description><category></category></item><item><title><![CDATA[107.已经有了ASPX，为什么还要Razor？哪个更好？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552944</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552944</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:40:55 +0800</pubDate><description><![CDATA[a.Razor是一个轻量级的视图引擎，MVC3引入，相比ASPX，Razor更干净、轻量级、语法更简单，只需要使用@关键字，如@DataTime.Now

]]></description><category></category></item><item><title><![CDATA[106.MVC中如何做输入验证?]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552941</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552941</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:40:24 +0800</pubDate><description><![CDATA[a.在M层使用数据模型的属性标签形如[Required]
b.在C层使用ModelState.IsValid属性检查数据是否正确，也可在C层使用JavaScript进行数据验证

]]></description><category></category></item><item><title><![CDATA[105.在MVC中如何保持Sessions？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552937</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112552937</guid><author>zhy1101854233</author><pubDate>Wed, 13 Jan 2021 08:39:54 +0800</pubDate><description><![CDATA[a.可使用tempdata、viewdata、viewbag三种方式
b.tempdata：在不同的控制器或动作间转换时保持数据。另外，进行页面转向时，tempdata可以保持数据，它是一个内部的Session变量
c.Viewdata：可以在控制器和视图间保持数据
d.Viewbag：它是视图数据的动态包装，使用viewbag不需要类型转换，它使用的是内部动态关键词

...]]></description><category></category></item><item><title><![CDATA[104.ASP.NET MVC是如何运行的？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505636</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505636</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:42:29 +0800</pubDate><description><![CDATA[a.当一个用户请求提交上来后，ASP.NET MVC会针对当前请求实施路由解析，解析的目标就是找到用户需要的Controller并激活它，执行对应的Action方法，最终返回用户需要的东西。
b.即当ASP.NET MVC接收到抵达的请求后，首要任务就是通过该请求解析得到对应的Controller和Action名称，通过Asp.Net MVC的路由进行解析。

...]]></description><category></category></item><item><title><![CDATA[103.MVC模式是什么？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505632</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505632</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:41:58 +0800</pubDate><description><![CDATA[a.MVC(ModelViewController)模型－视图－控制器，aspx 就是 View，视图；Model：DataSet、Reader、对象；Controller：cs 代码
b.MVC 是典型的平行关系，没有说谁在上谁在下的关系，模型负责业务领域的事情，视图负责显示的事情，控制器把数据读取出来填充模型后把模型交给视图去处理。而各种验证什么的应该是在模型里处理了。它强制性的使应用程序的输入、处理和输出分开
c.MVC 最大的好处是将逻辑和页面分离。

...]]></description><category></category></item><item><title><![CDATA[102.谈谈你对MVC和三层架构的理解]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505627</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505627</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:41:28 +0800</pubDate><description><![CDATA[a.MVC即模型、视图、控制器，模型表示业务数据及业务处理，用来封装数据及行为；视图是用户看到并与之交互的界面；控制器接受用户输入并调用模型和视图去完成用户的请求。使用MVC有利于关注点分离，自动化UI测试成为了可能
b.三层架构即表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚，低耦合”的思想。表现层通俗讲就是展现给用户的界面，业务逻辑层即针对具体问题的操作，也可以说是对数据层的操作，对数据业务逻辑处理。数据访问层：该层所做事务直接操作数据库，针对数据的增添、删除、]]></description><category></category></item><item><title><![CDATA[101.如何防范SQL注入式攻击？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505621</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505621</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:40:58 +0800</pubDate><description><![CDATA[a. 利用表单输入的内容构造SQL命令之前，把所有输入内容过滤一番就可以了。过滤输入内容可以按多种方式进行。
b.对于动态构造SQL查询的场合，可以使用下面的技术
c.用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外，它还使得数据库权限可以限制到只允许特定的存储过程执行，所有的用户输入必须遵从被调用的存储过程的安全上下文，这样就很难再发生注入式攻击了
d.限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符，那么不要认可表单中输入的10个以上的字符]]></description><category></category></item><item><title><![CDATA[100.什么是SQL注入式攻击？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505618</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505618</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:40:28 +0800</pubDate><description><![CDATA[a.所谓SQL注入式攻击，就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串，欺骗服务器执行恶意的SQL命令。
b.在某些表单中，用户输入的内容直接用来构造（或者影响）动态SQL命令，或作为存储过程的输入参数，这类表单特别容易受到SQL注入式攻击。
c.常见的SQL注入式攻击过程例如：
(1)某个ASP.NET Web应用有一个登录页面，这个登录页面控制着用户是否有权访问应用，它要求用户输入一个名称和密码。
(2)登录页面中输入的内容将直接用来构造动态的SQL命令，或者直接用作存储过程的参]]></description><category></category></item><item><title><![CDATA[99.序列化有何作用？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505611</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505611</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:39:57 +0800</pubDate><description><![CDATA[a.通过流类型可以方便地操作各种字节流，但如何把现有的实例对象转换为方便传输的字节流，就需要用到序列化的技术

]]></description><category></category></item><item><title><![CDATA[Asp.net中的错误机制？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505606</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505606</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:39:26 +0800</pubDate><description><![CDATA[a.定制错误页来将显示一个友好的报错页面。
b.页面中未捕获一样会触发Page_Error，应用程序中的未捕获异常会触发Application_Error。通过HttpContext.Current.Server.GetLastError()拿到未捕捉异常，记录到Log4Net日志中。

...]]></description><category></category></item><item><title><![CDATA[96.post、get的区别？]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505597</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505597</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:38:56 +0800</pubDate><description><![CDATA[a.get的参数会显示在浏览器地址栏中，而post的参数不会显示在浏览器地址栏中
b.使用post提交的页面在点击【刷新】按钮的时候浏览器一般会提示“是否重新提交”，而get则不会
c.用get的页面可以被搜索引擎抓取，而用post的则不可以
d.用post可以提交的数据量非常大，而用get可以提交的数据量则非常小(2k)，受限于网页地址的长度
e.用post可以进行文件的提交，而用get则不可以
扩展：通过html表单方式提交数据和ajax方式请求的原理不一样：不完百全一样。一般通过Form方式度提交的数]]></description><category></category></item><item><title><![CDATA[95.Session,ViewState,Application,cookie的区别?]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505594</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505594</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:38:24 +0800</pubDate><description><![CDATA[a.Session:用于保持状态的基于 Web 服务器的方法。Session 允许通过将对象存储在Web 服务器的内存中在整个用户会话过程中保持任何对象。主要用于保持代码隐藏类中对象的状态。为每个用户创建的,用于存储单个用户,因为他是相对每个用户的.所以可能来取得在线人数等。
b.ViewState:主要用于保持 Web 页上控件的状态。当 Web 页上的控件被绑定到代码隐藏类中的对象。
c.Application 用于存储所有用户都可视的信息.所以它存储的是要让所有用户共享的一些信息.如总访问数等Cach]]></description><category></category></item><item><title><![CDATA[通过超链接怎样传递中文参数?]]></title><link>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505578</link><guid>https://blog.youkuaiyun.com/zhy1101854233/article/details/112505578</guid><author>zhy1101854233</author><pubDate>Tue, 12 Jan 2021 08:37:08 +0800</pubDate><description><![CDATA[a.用 URL 编码
b.通过 QueryString 传递
c.用 urlencode 编码，用 urldecode 解码

]]></description><category></category></item></channel></rss>