zoukankan      html  css  js  c++  java
  • ASP.Net 知识点总结(四)

    1.get和post 的区别

    get是从服务器上获取数据,post是向服务器传送数据; 

    get安全性非常低,数据显示在地址栏,post安全性较高; 但是执行效率却比Post方法好;

    get有字节限制为1024字节,post没有限制,起到限制的是服务器设置和内存大小及程序的处理能力;

    对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

    2..asp.net页面提交过程

    3.自定义控件如何做?
    答:自定义控件,跟HtmlControl或WebControl相似,编译后可以添加引用到工具栏里
    面,直接用鼠标拖动使用。

    4.界面的布局?        答:表格,div
    5、程序的执行过程  答:先被编译成中间语言,再翻译平台专用语言.

    6.ASP.NET分页的常用方法有以下几种。

    启用部分数据控件的内置分页功能,如设置GridView控件的“AllowPaging”属性为“true”,类似的数据控件还有DetailsView等。
    通过SQL查询语句,以提取指定部分的数据的方式完成分页的功能。也包括调用数据库中内置的存储过程完成分页数据的提取。
    调用所对应数据适配器对象(DataAdapter对象)的Fill方法时,传递分页参数以完成数据集的分页功能。
    通过访问DataTable对象的“Rows”属性,以循环输出的方式访问结果集中指定区段的数据行,以达到分页的效果。

    7.视图状态ViewState的具体运行过程是什么?

    每当用户请求某个.aspx页面时,.NET框架首先把相关控件的状态数据序列化成一个字符串,然后,将其做为名为__VIEWSTATE的隐藏域的Value值发送到客户端。
    如果页面是第一次被请求,那么服务器控件也将是被第一次执行时,名为__VIEWSTATE的隐藏域中只包含控件的默认信息,通常为空或null。
    在随后的回送事件中,ViewState中就保存了服务器控件在前面回送中可用的属性状态。这样服务器控件就能监视在当前被处理的回送事件发生之前的状态了。这些过程是由.NET框架负责的,对用户来说是执行.aspx页面就有了持续执行的效果。

    8.面向对象的思想主要包括什么?
    对向对象程序设计(OOP)思想:封装、继承、多态
     封装:用抽象的数据类型将数据和基于数据操作封装在一起,数据被保护在抽象类型内部。
     继承:子类拥有父类的所有数据和操作。
     多态:一个程序中同名的不同方法共存的情况。 有两种形式的多态:重载与重写。

    9.什么是ASP.net中的用户控件?
    用户控件就是.ascx,复合控件就是.DLL

    10.UDP连接和TCP连接的异同。
     前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连接.

    11.进程和线程分别怎么理解?
    进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。
    线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。

    12.什么是SOAP,有哪些应用。
    SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。

    13.概述反射

     反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性

    14.序列化和反序列化 

    序列化是将对象状态转换为可保持或传输的格式的过程,比如转化为二进制、xml、json等的过程。
    与序列化相对的是反序列化,它将流转换为对象,也就是将在序列化过程中所生成的二进制串、xml、json等转换成数据结构或者对象的过程
    这两个过程结合起来,可以轻松地存储、传输数据

    15.用sealed修饰的类有什么特点

    sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。密封类不能同时为抽象类。sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。

    16.什么是ERP?ERP的演变过程?
    答:所谓ERP是英文Enterprise Resource Planning(企业资源计划)的简写。它是从MRP(物料资源
     计划)发展而来的新一代集成化管理信息系统,它扩展了MRP的功能,其核心思想是供应链管理,它跳
     出了传统企业边界,从供应链范围去优化企业的资源,是基于网络经济时代的新一代信息系统。它对
     于改善企业业务流程、提高企业核心竞争力的作用是显而易见的。

    17.在ASP.NET中如何进行文件上传?

    首先,从客户端取得上传的文件,然后,我们将它放入数据流;
    第二,服务器端读取数据流,然后将其保存到缓存;
    第三,将缓存数据保存到数据库;
    第一步:首先我们要实现用户在浏览器端自由选择文件,然后上传,这里用户选择文件,当然是要求标准的Windows方式,所以,我们在这里使用Form的File文件组件来给用户选择文件。注意,因为上传文件,所以,在Form的属性设置的时候,我们应该设置为:multipart/form-data,这样,才可以正确上传文件。

    18.ASP.NET中共有几种类型的控件?各有什么区别?

    WEB控件分为:内部控件, 列表控件, 复杂控件, 验证控件
    内部控件–内部控件的使用方法与 HTML 控件相同,它们映射到 HTML 元素并通过使用 runat = “server” 属性在服务器上执行
    列表控件–用于在 Web 页中创建数据列表
    复杂控件– •当希望控件拥有复杂的功能或使用 HTML 元素无法创建的功能丰富的用户界面时,可以使用复杂控件
    验证控件–输入控件的数据需要进行准确性和取值范围方面的检查

    19.ASP.NET中的身份验证有那些?请解释。

    Windows验证:指定Windows身份验证作为默认的身份验证模式.如果是任何形式的Internet信息服务(IIS)身份验证,则使用此模式.
    Forms验证:指定基于ASP。NET窗体的身份验证作为默认的身份验证模式。
    Passport:指定Microsoft Passport身份验证作为默认的身份验证模式。
    None:不指定身份验证,仅适用于匿名用户,或者应用程序可以处理事件以提供它们自己的身份验证情况。

    20.请详述在dotnet中类(class)与结构(struct)的异同:(10分)
    答:Class可以被实例化,属于引用类型,是分配在内存的堆上的;Struct属于值类型,是分配在内存的栈上的.

    21.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。(10)
    答:WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。

    22.在c#中using和new这两个关键字有什么意义

    using 指令有两个用途:允许在命名空间中使用类型,为命名空间或类型创建别名。

    using 语句允许程序员指定使用资源的对象应当何时释放资源。

    New 实例化一个对像,或修饰一个方法,表此方法完全重写此方法

    23.C#中的验证控件有几种

    a)RequiredFieldValidator(必须字段验证);
    b)CompareValidator(比较验证);
    c)RangeValidator (范围验证);
    d)RegularExpresionValidator(正则表达式);
    e)ValidationSummary(验证总结);
    f)CustomValidator(自定义验证)

    24.静态成员和非静态成员的区别

    静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问
    不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过对象进行访问
    一个类的所有实例的同一静态变量都是同一个值,同一个类的不同实例的同一非静态变量可以是不同的值
    静态函数的实现里不能使用非静态成员,如非静态变量、非静态函数等

    25.如何调试一个ASP.NET web应用?
    Attach aspnet_wp.exe 进程到你的DbgCLR debugger

    26.const和static readonly区别

    const:用 const 修饰符声明的成员叫常量,是在编译期初始化并嵌入到客户端程序
    static readonly:用 static readonly 修饰符声明的成员依然是变量,只不过具有和常量类似的使用方法:通过类进行访问、初始化后不可以修改。但与常量不同的是这种变量是在运行期初始化

    27.C#里面可以避免一个类被其他类继承么?

    是的,C#可以通过添加sealed关键字的方法来避免一个类被其他类继承。

    28.C#如何允许一个类被继承但是避免这个类的方法被重载?

    C#可以允许一个类被继承,但是这个类的方法不被重载。
    只要把这个类定义为public的,但是在不允许被重载的方法前面加上sealed.

    C#可以通过调用Sort()方法,然后再调用Reverse()方法。extern 修饰符用于声明由程序集外部实现的成员函数

    29.params有什么用

     params 关键字在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力
     30.别名指示符是什么

    主要用于解决两个命名空间内有同名类型的冲突或避免使用冗余的命名空间
    别名指示符在所有命名空间最外层定义,作用域为整个单元文件。如果定义在某个命名空间内,那么它只在直接隶属的命名空间内起作用

  • 相关阅读:
    (4) 编译 Android-5.0 源码
    (3) 下载 Android-5.0 源码
    (2) 搭建 Android 系统开发环境
    npm 安装 --save-dev 与 --save的使用与区别
    一点目标
    AcWing 875. 快速幂
    Codeforces Round #604 (Div. 2)
    2019年安徽大学ACM/ICPC实验室新生赛(公开赛)D 不定方程
    C语言黑与白问题
    AcWing 92. 递归实现指数型枚举
  • 原文地址:https://www.cnblogs.com/hanxingli/p/5479703.html
Copyright © 2011-2022 走看看