自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(129)
  • 收藏
  • 关注

原创 使用MVC有哪些好处

使用MVC有哪些好处? a. 分离了关注点。后台代码被移到单独的类文件,我们可以最大限度的重复利用代码 b. 自动化UI测试成为可能,因为后台代码移到了.NET类。这让我们更容易做单元测试和自动化测试 ...

2021-01-19 15:17:33 228

原创 MVC同时适用于Windows应用和Web应用吗?

MVC同时适用于Windows应用和Web应用吗? a. 相比Windows应用,MVC架构更适用于Web应用 b. 对于Windows应用,MVP(Model View Presenter)架构更好一点 c. 如果你使用WPF和Silverlight,MVVM更适合

2021-01-19 15:16:57 182

原创 MVC(模型、视图、控制器)架构的控制流程

MVC(模型、视图、控制器)架构的控制流程 a. 所有的终端用户请求被发送到控制器 b. 控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图 c. 附加了模型数据的最终视图做为响应发送给终端用户 ...

2021-01-19 15:16:01 240

原创 MVC有多少种不同类型的结果类型,请详细描述?

MVC有多少种不同类型的结果类型,请详细描述? a. 有12种,最主要的是ActionResult类,它是一个基础类,它有11个子类型 b. ViewResult 7 - 给响应流渲染指定的视图 c. PartialViewResult - 给响应流渲染指定的局部视图 d. EmptyResult - 返回空的响应结果 e. RedirectResult - 执行一个HTTP转向到指定的URL f. RedirectToRouteResult -执行一个HTTP转向到一个URL,这个URL由基于路由

2021-01-19 15:15:29 85

原创 已经有了ASPX,为什么还要Razor?哪个更好?

已经有了ASPX,为什么还要Razor?哪个更好? a. Razor是一个轻量级的视图引擎,MVC3引入,相比ASPX,Razor更干净、轻量级、语法更简单,只需要使用@关键字,如@DataTime.Now

2021-01-19 15:14:56 342

原创 . MVC中如何做输入验证?

. MVC中如何做输入验证? a. 在M层使用数据模型的属性标签形如[Required] b. 在C层使用ModelState.IsValid属性检查数据是否正确,也可在C层使用JavaScript进行数据验证

2021-01-19 15:14:24 66

原创 在MVC中如何保持Sessions

在MVC中如何保持Sessions a. 可使用tempdata、viewdata、viewbag三种方式 b. tempdata:在不同的控制器或动作间转换时保持数据。另外,进行页面转向时,tempdata可以保持数据,它是一个内部的Session变量 c. Viewdata:可以在控制器和视图间保持数据 d. Viewbag:它是视图数据的动态包装,使用viewbag不需要类型转换,它使用的是内部动态关键词 ...

2021-01-19 15:13:39 118

原创 ASP.NET MVC是如何运行的

ASP.NET MVC是如何运行的? a. 当一个用户请求提交上来后,ASP.NET MVC会针对当前请求实施路由解析,解析的目标就是找到用户需要的Controller并激活它,执行对应的Action方法,最终返回用户需要的东西。 b. 即当ASP.NET MVC接收到抵达的请求后,首要任务就是通过该请求解析得到对应的Controller和Action名称,通过Asp.Net MVC的路由进行解析。 ...

2021-01-19 15:13:05 91

原创 MVC模式是什么

MVC模式是什么 a. MVC(ModelViewController)模型-视图-控制器,aspx 就是 View,视图;Model:DataSet、Reader、对象;Controller:cs 代码 b. MVC 是典型的平行关系,没有说谁在上谁在下的关系,模型负责业务领域的事情,视图负责显示的事情,控制器把数据读取出来填充模型后把模型交给视图去处理。而各种验证什么的应该是在模型里处理了。它强制性的使应用程序的输入、处理和输出分开 c. MVC 最大的好处是将逻辑和页面分离。 ...

2021-01-19 15:12:30 76

原创 谈谈你对MVC和三层架构的理解

谈谈你对MVC和三层架构的理解 a. MVC即模型、视图、控制器,模型表示业务数据及业务处理,用来封装数据及行为;视图是用户看到并与之交互的界面;控制器接受用户输入并调用模型和视图去完成用户的请求。使用MVC有利于关注点分离,自动化UI测试成为了可能 b. 三层架构即表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。表现层通俗讲就是展现给用户的界面,业务逻辑层即针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。数据访问层:该层所做事务

2021-01-19 15:11:11 102

原创 如何防范SQL注入式攻击?

如何防范SQL注入式攻击? a. 利用表单输入的内容构造SQL命令之前,把所有输入内容过滤一番就可以了。过滤输入内容可以按多种方式进行。 b. 对于动态构造SQL查询的场合,可以使用下面的技术 c. 用存储过程来执行所有的查询。SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了 d. 限制表单或查询字符串输入的长度。如果用户的登录名字最多只有10个字符,那么

2021-01-17 09:41:04 420

原创 什么是SQL注入式攻击?

什么是SQL注入式攻击? a. 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。 b. 在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。 c. 常见的SQL注入式攻击过程例如: (1) 某个ASP.NET Web应用有一个登录页面,这个登录页面控制着用户是否有权访问应用,它要求用户输入一个名称和密码。 (2) 登录页面中输入的内容将直接用来构造动态的

2021-01-17 09:40:33 160

原创 序列化有何作用?

序列化有何作用? a. 通过流类型可以方便地操作各种字节流,但如何把现有的实例对象转换为方便传输的字节流,就需要用到序列化的技术

2021-01-17 09:40:03 343

原创 网站想要实现文件防盗链的功能,说说你的解决方案?

网站想要实现文件防盗链的功能,说说你的解决方案? a. 读取HTTP报文头中的UrlReferrer在Application_BeginRequest中我们可以判断用户的请求是否来源于本网站,如果不是我们可以终止用户的请求(Response.End();) ...

2021-01-17 09:39:14 127

原创 Asp.net中的错误机制?

Asp.net中的错误机制? a. 定制错误页来将显示一个友好的报错页面。 b. 页面中未捕获一样会触发Page_Error,应用程序中的未捕获异常会触发Application_Error。通过HttpContext.Current.Server.GetLastError()拿到未捕捉异常,记录到Log4Net日志中。 ...

2021-01-17 09:38:44 89

原创 post、get的区别?

post、get的区别? a. get的参数会显示在浏览器地址栏中,而post的参数不会显示在浏览器地址栏中 b. 使用post提交的页面在点击【刷新】按钮的时候浏览器一般会提示“是否重新提交”,而get则不会 c. 用get的页面可以被搜索引擎抓取,而用post的则不可以 d. 用post可以提交的数据量非常大,而用get可以提交的数据量则非常小(2k),受限于网页地址的长度 e. 用post可以进行文件的提交,而用get则不可以 f. 扩展:通过html表单方式提交数据和ajax方式请求的原理不一样:不

2021-01-17 09:38:12 115

原创 Session,ViewState,Application,cookie的区别?

Session,ViewState,Application,cookie的区别? a. Session:用于保持状态的基于 Web 服务器的方法。Session 允许通过将对象存储在Web 服务器的内存中在整个用户会话过程中保持任何对象。主要用于保持代码隐藏类中对象的状态。为每个用户创建的,用于存储单个用户,因为他是相对每个用户的.所以可能来取得在线人数等。 b. ViewState:主要用于保持 Web 页上控件的状态。当 Web 页上的控件被绑定到代码隐藏类中的对象。 c. Application 用于

2021-01-17 09:37:42 71

原创 通过超链接怎样传递中文参数?

通过超链接怎样传递中文参数? a. 用 URL 编码 b. 通过 QueryString 传递 c. 用 urlencode 编码,用 urldecode 解码

2021-01-17 09:37:11 167

原创 列举 ASP.NET页面之间传递值的几种方式

列举 ASP.NET页面之间传递值的几种方式 a. 使用 QueryString, 如…?id=1;response.Redirect()… b. 使用 Session 变量 c. 使用 Server.Transfer d. Cookie 传值 e. Application 传值 f. PreviosPage g. Server.Transfer 和 Response.Redirect 的区别:Server.Transfer 是服务器内部的转接,浏览器不知晓; Response.Redirect 是有浏览器

2021-01-17 09:36:32 160

原创 什么是 WEB 服务控件?使用 WEB 服务控件有那些优势、劣势?

什么是 WEB 服务控件?使用 WEB 服务控件有那些优势、劣势? a. web 服务控件就是可以在服务器执行的控件,优势在于可以回传数据(ViewState),带有事件驱 动(doPostBack),简化了 Html 标签的使用,使得开发 ASP.net 程序可以像开发 Winform 程序一 样简单。Web 服务控件最终还是被渲染(Render)为 Html 标签 b. 使用 WEB 服务控件的劣势是会生 成一些无用的属性、ViewState 等,不利于 SEO,一般在内网系统或者互联网系统的后台中使用

2021-01-17 09:35:53 339

原创 请解释 ASP.NET中的Web页面与其隐藏类之间的关系?

请解释 ASP.NET中的Web页面与其隐藏类之间的关系? a. 一个ASP.NET页面一般都对应一个隐藏类 b. 一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面 Tst1.aspx 的页面声明如下 <%@ Page language=“c#” Codebehind=“Tst1.aspx.cs” AutoEventWireup=“false” Inherits=“T1.Tst1”%> c. Codebehind=“Tst1.aspx.cs” 表明经编译此页面时使用哪一个代码文件 d.

2021-01-12 09:10:53 66

原创 什么是code-Behind技术?

什么是code-Behind技术? a. 就是代码隐藏,在 ASP.NET 中通过 ASPX 页面指向 CS 文件的方法实现显示逻辑和处理逻 辑的分离,这样有助于 web 应用程序的创建 b. 比如分工,美工和编程的可以个干各的,不用再像以前 asp 那样都代码和 html 代码混在一起,难以维护 ...

2021-01-12 09:10:22 150

原创 什么是受管制的代码?什么是托管代码?

什么是受管制的代码?什么是托管代码? a. 在.Net 环境中运行的任何代码都是受管制的代码(managedcode) b. Net 外部的代码也运行在 windows上,这些代码称为未受管制的代码(unmanagedcode) c. 使用基于公共语言运行库的语言编译器开发的代码称为托管代码 d. 托管代码具有许多优点, 例如:跨语言集成、跨语言异常处理、增强的安全性、版本控制和部署支持7、简化的组件交互模型、调试和分析服务等。 ...

2021-01-12 09:09:44 147

原创 B/S与C/S的联系与区别

B/S与C/S的联系与区别 a. C/S 是 Client/Server 的缩写。客户端需要安装专用的客户端软件。 b. B/S是 Brower/Server 的缩写,客户机上只要安装一个浏览器。在这种结构下,用户界面 完全通过 WWW 浏览器实现,一部分事务逻辑在前端实现,但是主要逻辑在服务器端 实现。浏览器通过WebServer 同数据库进行数据交互。 ...

2021-01-12 09:08:37 84 1

原创 三层架构

三层架构 a. 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。 区分层次的目的即为了“高内聚,低耦合”的思想。 b. 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候的所见所得 c. 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理 d. 数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等每层之间是一种垂直的关系 e. 三层结构是 N 层结构的一种,

2021-01-12 09:07:46 49

原创 描述线程与进程的区别?

描述线程与进程的区别? a. 线程(Thread)与进程(Process)二者都定义了某种边界,不同的是进程定义的是应用程序与应用程序之间的边界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界 b. 一个进程可以包括若干个线程,同时创建多个线程来完成某项任务,便是多线程。而同一进程中的不同线程 共享代码和数据空间。用一个比喻来说,如果一个家庭代表一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭的财富进行积累,同时也有权利对家庭财富进行消费,当面对一个

2021-01-12 09:06:55 105

原创 C#中索引器是否只能根据数字进行索引?是否允许多个索引器参数

C#中索引器是否只能根据数字进行索引?是否允许多个索引器参数? a. 参数的个数和类型都是任意的 b. 用 reflector 反编译可以看出,索引器的内部本质上就是 set_item、get_item 方法

2021-01-12 09:04:09 163

原创 override与重载(overload)的区别?

override与重载(overload)的区别? a. 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要。 b. 重载(overload)是面向过程的概念。 c. Override 是进行基类中函数的重写 d. 是面向对象的概念 ...

2021-01-11 11:15:45 107

原创 C#中的委托是什么?事件是不是一种委托?事件和委托的关系?

C#中的委托是什么?事件是不是一种委托?事件和委托的关系? a. 委托 可以把一个方法作为参数代入另一个方法。 b. 委托可以理解为指向一个函数的指针 c. 委托和事件没有可比性,因为委托是类型,事件是对象 ...

2021-01-11 11:15:15 138

原创 C#支持多重继承么

C#支持多重继承么? a. 类之间不支持,接口之间支持 b. 类对接口叫做实现,不叫继承

2021-01-11 11:14:44 300

原创 您在什么情况下会用到虚方法?它与接口有什么不同?

您在什么情况下会用到虚方法?它与接口有什么不同? a. 子类重新定义父类的某一个方法时,必须把父类的方法定义为 virtual b. 在定义接口中不能有方法体,虚方法可以。实现时,子类可以不重新定义虚方法,但如果一个类继承接口,那必须实现这个接口。 ...

2021-01-11 11:14:13 82

原创 abstract class和interface有什么区别?

abstract class和interface有什么区别? 相同点: a. 都不能被直接实例化,都可以通过继承实现其抽象方法。 不同点: b. 接口支持多继承;抽象类不能实现多继承。 c. 接口只能定义行为;抽象类既可以定义行为,还可能提供实现。 d. 接口可以用于支持回调(CallBack);抽象类不能实现回调,因为继承不支持。 e. 接口只包含方法(Method)、属性(Property)、索引器(Index)、事件(Event)的签名,但不能定义字段和包含实现的方法; f. 抽象类可以定义字段、属性

2021-01-11 11:13:43 62

原创 C#中的接口和类有什么异同?

C#中的接口和类有什么异同? 不同点: a. 不能直接实例化接口。 b. 接口不包含方法的实现。 c. 接口可以多继承,类只能单继承。 d. 类定义可在不同的源文件之间进行拆分 相同点: e. 接口、类和结构都可以从多个接口继承。 f. 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。 g. 接口和类都可以包含事件、索引器、方法和属性 ...

2021-01-11 11:13:12 165

原创 在.net中类(class)与结构 (struct)的异同?

在.net中类(class)与结构 (struct)的异同? a. Class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的 b. Struct 属于值类型,是分配在内存的栈上的。结构体是复制传递的。加分的回答:Int32、Boolean 等都属于结构体。 ...

2021-01-11 11:12:42 89

原创 请叙const与readonly的区别

请叙const与readonly的区别 a. const 关键字用于修改字段或局部变量的声明。它指定字段或局部变量的值不能被修改。常数声明引入给定类型的一个或多个常数。 const 数据成员的声明式必须包含初值,且初值必须是一个常量表达式。因为它是在编译时就需要完全评估。 const 成员可以使用另一个 const 成员来初始化,前提是两者之间没有循环依赖。 b. readonly 在运行期评估赋值,使我们得以在确保“只读访问”的前提下,把 object 的初始化动作推迟到运行期进行。 c. readonl

2021-01-11 11:12:10 152

原创 是否可以从一个 static方法内部发出对非 static方法的调用?

是否可以从一个 static方法内部发出对非 static方法的调用? a. 不可以 b. 因为非 static 方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方 法调用,而 static 方法调用时不需要创建对象,可以直接调用 c. 也就是说,当一个 static 方法被调用时,可能还没有创建任何实例对象,如果从一个 static 方法中发出对非 static 方法的调用,那个非 static 方法是关 联到哪个对象上的呢?这个逻辑无法成立,所以,一个 static 方法内部不能发

2021-01-11 11:11:15 200

原创 能用foreach遍历访问的对象的要求

能用foreach遍历访问的对象的要求 a. 需要实现 IEnumerable 接口或声明 GetEnumerator 方法的类型。

2021-01-11 11:09:31 465

原创 GC是什么?为什么要有 GC

GC是什么?为什么要有 GC? a. GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。 b. GC只能处理托管内存资源的释放,对于非托管资源则不能使用 GC 进行回收,必须由程序员手工回收,一个例子就是 FileStream 或者 SqlConnection 需要程序员调用 Dispose 进行资源的回收。 c. 要请求垃圾收集,可以调用下面的方法:GC.Collection()一般不需要手动调用 GC.Collection()。 d. 加分的回答:有一次用 OLEAutomatio

2021-01-08 18:27:34 1232 1

原创 using键字有什么用?什么是IDisposable

using键字有什么用?什么是IDisposable? a. using 可以声明 namespace 的引入,还可以实现非托管资源的释放,实现了 IDisposiable 的类在 using 中创建 b. using 结束后会自动调用该对象的 Dispose 方法,释放资源。 c. 加分的补充回答:using 其实等价于 try……finally, 用起来更方便 ...

2021-01-08 18:27:03 64

原创 new关键字用法

new关键字用法? a. new 运算符 用于创建对象和调用构造函数。 b. new 修饰符 用于向基类成员隐藏继承成员。 c. new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。

2021-01-08 18:26:29 301

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除