zoukankan      html  css  js  c++  java
  • 《ASP.NET的一些坑》的人造坑,真不是微软问题,是你的理解问题

    仅说两点,实现看得蛋疼,说一下。因为出现在首页,所以就有此文。

    摘录一段微博,尽量避免在技术理解错方向性问题:真不是微软问题,是你的理解问题。

    “清晰的思路远比埋头苦干重要,正确的方向要比勤勤恳恳重要,做对的事情也比把事情做对重要。

    常常在评价人、事时,去评价那些表面的现象,忽略了内涵。

    最终,导致哪些真正有价值的人和事情被冷落了,而那些金玉其外败絮其中的东西被吹捧了出来!”

     

    一、没有理解什么叫多线程,所以下述的结论都是错的

    *****************************

    在以下情形中访问HttpContext.Current将会返回null
    1. 定时器的回调。
    2. Cache的移除通知。
    3. APM模式下异步完成回调。
    4. 主动创建线程或者将任务交给线程池来执行。

    *************************************

    正确应是:在以下情形中,HttpContext.Current为null,不是坑,原本就如此

    二、基本概念都没搞清

    *****************************
    QueryString,Form允许重复的KEY????

    不是这样表达的吧?

    字典类能允许重复的KEY,请求串中的参数名能叫Key?

    *************************************

    正确应是:请求串中允许相同的参数名,其值在QueryString中以“,”分隔表示。
      QueryString不会存在重复的KEY。请别误导大家。

    原文:http://www.cnblogs.com/fish-li/archive/2013/05/28/3104750.html

    部分摘录:

    前段时间碰到一个问题:为什么在ASP.NET程序中定时器有时候会不工作?

    这个问题看起来很奇怪,代码好像也没错,但就是结果与预期不一致。
    其实这里是ASP.NET程序的一个陷阱,我习惯说成坑。 后来想想,其实ASP.NET的坑何止这一个,我今天就把我能想到的各种坑都写出来,希望大家小心这些问题。

    想到我以前的博客中也零散的说过了一些坑,所以这篇博客中也把它们列出来了, 不过,对于以前谈过的内容,这里将只会简略地说明。

    HttpContext.Current并非无处不在

    这个问题是我上个月的博客中提到的问题, 原文链接:http://www.cnblogs.com/fish-li/archive/2013/04/06/3002940.html

    在以下情形中访问HttpContext.Current将会返回null
    1. 定时器的回调。
    2. Cache的移除通知。
    3. APM模式下异步完成回调。
    4. 主动创建线程或者将任务交给线程池来执行。

    所以,在写类库时,请注意这个问题。

    Application_Start的异常与IIS经典模式

    在IIS6或者II7的经典模式下运行ASP.NET程序时,如果Application_Start事件中抛出了未捕获异常, 那么 这个异常将显示一次。

    关于这个问题的更多细节介绍请点击:http://www.cnblogs.com/fish-li/archive/2013/03/24/2979780.html

    QueryString,Form允许重复的KEY

    我们经常见到的集合,例如:Hashtable, Dictionary,它们都要求KEY是唯一的,然而, HttpRequest的QueryString,Form集合实例却 允许KEY重复,当遇到KEY重复时,通过索引器访问集合时, 会将KEY对应的所有元素值用逗号拼接起来。

    为什么会这样,因为这二个集合的类型是NameValueCollection,类似的,Headers集合也是这样。

    由于这个特殊性与我们常见的情形不一致,所以我们需要注意这个差别,当然了,有些时候我们还可以利用这个行为实现一些特殊的需求, 关于这个细节的更多介绍请参考:http://www.cnblogs.com/fish-li/archive/2011/12/06/2278463.html , 在这篇博客中,还介绍了HttpRequest的二个索引器也是值得我们注意的。

  • 相关阅读:
    结构体后面不加 ; 的后果。
    swap的两种错误写法
    rewind和fseek作用分析
    16个get函数的用法。
    枚举的简单使用。
    小知识点
    网线头的做法
    内存和寄存器
    linux下service mongod start启动报错
    appium上下文切换、webview调试以及chromedriver/键盘等报错问题解决
  • 原文地址:https://www.cnblogs.com/fjwuyongzhi/p/3104929.html
Copyright © 2011-2022 走看看