1.C# 中的虚方法 和 C++中的作用一致,能让指向子类的父类指针优先到子类中寻找方法,而不是直接调用父类中的方法。

看一段例子回忆下:

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Person student = new Student();
student.speak();
student.sing(); }
} class Person {
public virtual void speak() {
Console.WriteLine("person speak");
} public void sing() {
Console.WriteLine("person sing");
}
} class Student:Person
{
override public void speak()
{
Console.WriteLine("student speak");
} new public void sing() {
Console.WriteLine("student sing");
}
}
}

输出如下:

2. 在程序中使用 HttpContext.Current.Session["CurrentAdmin"] = objAdmin; 这类的与session相关的函数后,asp.net 框架会默认添加一个名为 ASP.NET_SessionId 的cookie,这个cookie有24个字符,用来让系统区分请求所对应的session。如果确实不希望这个字段出现在cookie里,可以通过调用 Response.Cookies["ASP.NET_SessionId"].Expires = DateTime.Now.AddYears(-1); 让这个cookie过期,游览器就会自动删除这个cookie。另外这个cookie是保存在内存中的,并不会在磁盘上,所以关了游览器,cookie也就没了。

3. 今天开发遇到一个bug,说的是关于assembly未正确配置,其实这个assembly在.NET中就是对应的dll文件,如果出错,就需要看看是不是在bin文件夹中缺失了某个dll。

4.今天做一个上传功能,在服务器端用的是Server.MapPath 这个方法获得路径,具体的路径是/Upload ,在默认iis express 运行环境下,没有问题,后来为了调试,把程序放到了本机的IIS上,结果上传没有错误,却取不到数据了。后来发现,这个网站被当做了子站发布在了IIS的默认网站下,那么Server.MapPath 其实返回的是http://localhost/Upload ,也就是在主站点下的upload文件夹,而不是 子站的http://localhost/webapplication/Upload. 所以上传虽然成功了,但是上传的位置错了!要解决问题,把网站作为单独主站点就可以了。

我的错误配置如下:

这种在主机端口号后,还有一个路径的写法,系统就会为我们创建子文件夹存放数据,但是运行时取到的server的path信息,会是主站点的虚拟路径。

正确的做法是,先在IIS中创建一个站点,配置好信息,之后在vs中进行配置,修改后的截图如下:

5. 今天在写Entity Framework相关代码时,没有把实体中的关联属性声明为Virtual,结果发现,无法从数据库读取关联属性了,结果全部是null,后来查看了以下文章:

https://stackoverflow.com/questions/8542864/why-use-virtual-for-class-properties-in-entity-framework-model-definitions?utm_medium=organic&utm_source=google_rich_qa&utm_campaign=google_rich_qa

这里面说到了,如果不使用virtual对 navigation 属性声明,取出的对象就不会包含navigation属性的相关内容,其实就是不会对navigation属性进行sql检索操作。但即使不声明,也可以通过其他方法读取内容。比如以下代码:

context.Votes.Include(v => v.ToUser).ToListAsync();

这样检索的话,即使 vote 的 toUser 属性没有声明为virtual,也可以被sql一次性读取出来。另外,目前.Net Core 中的 EntityFramework core 默认不支持virtual这种懒加载。

再看看stackoverflow上关于ef中的virtual的说明:

If you opt to never use the lazy loading or change tracking features of the Entity Framework (which is not the default) then you needn't declare any of your navigation properties as virtual. You are then responsible for loading those navigation properties yourself, either using what the Entity Framework refers to as "eager loading", or manually retrieving related types across multiple database queries.

6.关于IIS 中的 module 和 handler。 在web.config里,经常可以看到对module 和 handler的配置section。这里的module和handler既可以是自己写的,也可以是系统提供的。我对module的理解就是,它处理通用的逻辑,比如,身份验证,一个请求可以经过任意多个module的处理。handler针对的是某一类资源的,比如aspx,是真正的处理请求,返回数据的结构,一个请求,只能经过一个handler的处理。推荐一个文章https://www.cnblogs.com/fengzheng/p/3666774.html

初学ASP.NET 知识点的更多相关文章

  1. 初学Java 精简知识点总结

    面对Java丰富的知识资料,很多初学者难免觉得迷惘,该学什么,怎么去学?下面给大家讲Java基础知识做了精简总结,来帮助你梳理学习思路,赶快看看吧! 方法/步骤1 对象的初始化(1) 非静态对象的初始 ...

  2. ASP.net知识点

    2 .列举ASP.NET 页面之间传递值的几种方式. 答: (1)QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中. 如果是传递一个或多个安全性要求不高或是结构简 ...

  3. ASP.Net 知识点总结(四)

    1.get和post 的区别 get是从服务器上获取数据,post是向服务器传送数据; get安全性非常低,数据显示在地址栏,post安全性较高: 但是执行效率却比Post方法好: get有字节限制为 ...

  4. ASP.Net 知识点总结(三)

    1.描述一下C#中索引器的实现过程,是否只能根据数字进行索引? 答:不是.可以用任意类型. 2.<%# %> 和 <% %> 有什么区别? 答:<%# %>表示绑定 ...

  5. Asp.NET 知识点总结(二)

    1.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 答:不对,有相同的 hash code 编码格式. 2.swtich是否能作用在byte ...

  6. Asp.NET 知识点总结(一)

    1.简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有类,私有成员, 在类的内部才可以访问. protected : ...

  7. ASP.NET知识点汇总

    一 ,html属性20181113常用的居中方法1 text-align2 float3 margin (margin-left matgin-right margin-bottom margin-t ...

  8. 初学JQuery相关知识点

    [简单的JQuery]注册事件的函数. $(document).ready(function(){}) [JQuery提供的函数]$.map(array,fn) 对数组array中每个元素调用fn函数 ...

  9. ASP.NET 知识点总结(七)

    1.new修饰符是起什么作用new 修饰符用于声明类或类的成员,表示隐藏了基类中同名的成员.而new 操作符用于实例化一个类型new 修饰符只能用于继承类,一般用于弥补基类设计的不足new 修饰符和 ...

随机推荐

  1. CodeForces 1151D Stas and the Queue at the Buffet

    题目链接:http://codeforces.com/contest/1151/problem/D 题目大意: 有n个学生排成一队(序号从1到n),每个学生有2个评定标准(a, b),设每个学生的位置 ...

  2. Python爬虫beautifulsoup4常用的解析方法总结

    摘要 如何用beautifulsoup4解析各种情况的网页 beautifulsoup4的使用 关于beautifulsoup4,官网已经讲的很详细了,我这里就把一些常用的解析方法做个总结,方便查阅. ...

  3. git总结二、关于分支上——好好认识下分支是怎么回事

    同样需要先来明确两件事: HEAD指针指向的是当前分支 分支(master, dev)指向的是最新的提交 一开始,git 中只有一个master分支,严格来讲,HEAD不是指向提交而是指向master ...

  4. Spring Bean's life

    In contrast, the lifecycle of a bean in a Spring container is more elaborate. It’simportant to under ...

  5. springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetomany

    springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetoma ...

  6. 关于空想X

    只是一个ID而已,我才不会告诉你这是一艘法国驱逐舰 想去打CTF,但是什么也不会. 博主人很懒,估计也不会更几篇博客,嘿嘿嘿. 最近在学PYTHON,欢迎交流.

  7. LOJ2276 [HAOI2017] 新型城市化 【二分图匹配】【tarjan】

    题目分析: 这题出的好! 首先问题肯定是二分图的最大独立集,如果删去某条匹配边之后独立集是否会变大. 跑出最大流之后流满的边就是匹配边. 如果一个匹配边的两个端点在一个强连通分量里,那这条边删掉之后我 ...

  8. 大二学生党的Security+备考宝典(一次过)

    刚出成绩的一刹那,我的心里是慌的很的,因为可能知识点复习的不够扎实,考试上的题目全都回归了课本,而我的知识回归了老师(滑稽),一下给大家分享下我的经验,希望大家引以为戒,都能考出好成绩. 一.直播阶段 ...

  9. webstorm开发微信小程序

    参考博客:https://www.cnblogs.com/pansidong/articles/7563155.html

  10. Apache Hadoop 2.9.2 的归档案例剖析

    Apache Hadoop 2.9.2 的归档案例剖析 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   能看到这篇文章说明你对NameNode 工作原理是有深入的理解啦!我们知道 ...