.NET面试问题二

1、MVC中如何保持Session?

可以使用tempdata,viewdata,viewbag三种方式

tempdata:不同的控制器类或者动作间转换时保持数据,页面转向时也保持数据,是一个内部的Session变量

viewdata:可在控制器和视图间保持数据

viewbag:视图数据的动态包装,使用viewba不需要类型转换。

2、MVC中如何做输入校验?

在model层的数据模型的字段加入属性标签[Required],然后在Controller层使用ModelState.IsValidate属性检查数据是否正确

3、已经有了ASPX,为什么还要用Razor?

Razor是一个轻量级的试图引擎,MVC3引入,相比ASPX,Razor更干净,轻量级,语法简单

只需要使用@关键字,比如@DateTime.Now

4、MVC中有多少种不同类型的结果类型?

首先是ActionResult:基础类,他有11个子类型

ViewResult:给响应流渲染指定视图

PartialViewResult:给响应流渲染指定的局部视图

EmptyResult:返回空的响应结果

RedirectResult:执行一个HTTP转向到指定的URL

JsonResult:序列化一个ViewData对象到Json格式。

5、异常处理的方式

try{

}cacch(){
throw;
}
//catch无参数,可以捕获所有异常,只有throw关键字,表示抛出当前catch语句捕获的异常
try{
}
catch(Exception ex){
throw ex
}
//catch有参数,可以-捕获所有Exception类派生的异常,throw ex抛出Exception异常或者ception派生的类型异常


6、Ajax操作如何处理Session过期?

Session过期,我们获取请求头信息值判断是否为Ajax请求,如果是,我们可以返回特定格式的JSON数据,

客户端可以对此数据处理,发现JSON失效,可以跳转到其他页面如登录页面。

7、.NET框架下remoting和WebService两种技术应用

Remoting:可以利用TCP/IP,二进制传送提高效率,远程逻辑调用,只能用在.NET Remoting在.NET中跨越machine,process,appdomain进行方法调用的技术。

WebService:可以利用HTTP穿透防火墙,构建应用程序的普通模型,并能在所有支持的internet网通讯的操作系统上实施。WebService是基于组件的开发和Web的结合达到最佳,基于组件的对象模型。

上一篇:.gitignore无效的原因


下一篇:python3获取指定目录内容的详细信息