随笔分类 -  DotNet

摘要:ASP.NET MVC Core的TagHelper (高级特性) 阅读全文
posted @ 2017-04-11 23:46 神八 阅读(14596) 评论(4) 推荐(6)
摘要:创建ASP.NET Core MVC的启动示例项目模板并发布到Marketplace 阅读全文
posted @ 2017-03-19 16:04 神八 阅读(904) 评论(0) 推荐(0)
摘要:创建.NET Core程序的Nuget Package 阅读全文
posted @ 2017-03-12 22:52 神八 阅读(9057) 评论(0) 推荐(1)
摘要:ASP.NET Core中使用xUnit进行单元测试 阅读全文
posted @ 2017-02-19 23:52 神八 阅读(8633) 评论(0) 推荐(1)
摘要:SignalR的Javascript客户端API使用方式整理 阅读全文
posted @ 2016-04-21 11:46 神八 阅读(19879) 评论(2) 推荐(4)
摘要:任何程序都离不开对异常的处理,良好的异常处理方式可加快寻找出异常的根源,同时也需要避免暴露敏感信息到异常中。WCF这种典型的服务端和客户端交互的程序,服务端的异常更需要适当的处理。下面以一个简单的服务为例,说明WCF中处理异常的方式。WCF服务定义如下,很明显方法Divide在divisor为0的时候将会抛出异常View Code publicclassCalculateService:ICalculateService{publicintDivide(intdividend,intdivisor){returndividend/divisor;}publicintAdd(inta,intb. 阅读全文
posted @ 2011-12-31 21:41 神八 阅读(8639) 评论(1) 推荐(3)
摘要:const和readonly关键字也是面试中经常考到的问题,通常都是用来表示一个不可变的变量成员,那么具体区别是什么?从用法上说,const只能以inline代码的形式定义,而readonly既可以以inline代码形式定义也可以通过构造方法定义。CLR中定义,readonly的变量只能在构造方法中赋值,而C#中inline代码实际上是构造方法调用的一部分,因此readonly的变量可以以inline的方式赋值。以上是语法方面的应用,那在实际上的用法上,还是有些微妙的变化,通常不易发觉,请看下面的代码在程序集ConstLib.dll中有一个类MyClass,定义了一个公开的静态变量MaxCou 阅读全文
posted @ 2011-11-29 21:04 神八 阅读(1419) 评论(1) 推荐(1)
摘要:一些经典.net面试题里,经常会有关于new关键字的考察,其中肯定会问到new关键字用在方法前有什么用之类的,通常同学们都能答出是阻断继承或者说是为了表明与父类同名方法独立开。但是进一步询问为什么或讲讲原理时,大部分的猿人还是回答不上来的。下面简单分析一下,个人理解的实现原理。从一个经典的面试代码题入手,有如下题目(估计面霸们一看就知道答案了)View Code 1publicclassBook2{3publicvirtualstringGetDescription()4{5return"anormalbook";6}7}89publicclassAspNetBook:Bo 阅读全文
posted @ 2011-11-29 19:08 神八 阅读(865) 评论(0) 推荐(0)
摘要:利用Bing的API开发的搜索工具(WCF+MVC) 阅读全文
posted @ 2011-11-27 23:16 神八 阅读(4822) 评论(1) 推荐(0)
摘要:很久没有做xml方面的解析,今天接到一个小任务,需要解析xml里面的字段内容,顺带复习了一下xpath方面的知识。需要解析的xml是那种待namespace的文档,一开始解析就碰到问题,我就感觉是命名空间在作怪,印象中之前也处理过这种问题,但时间久远,都忘记了,也没有记录下来。折腾了一会总算找到了方法,.NET中读取带xml命名空间的xml文档的方式确实麻烦,不够直接。不管怎样,还是记录一下解决方法,省得以后又要被折腾一次。View Code 1StringReadertextReader=newStringReader(surveyProject.SurveryContent);2XPath 阅读全文
posted @ 2011-11-25 19:46 神八 阅读(1030) 评论(0) 推荐(0)
摘要:今天碰到了一个不可思议的bug,新增的controller中任何action都无法访问,都是返回404错误。一般这种错误要么是拼写错误,要么是不小心给action加了post属性,但是经过初步的排查,没有发现问题。而原有的controller中任何action都访问正常,新增的action也没有问题,但是换到新创建的那个controller中,问题就出现。于是问题定位在新增的那个controller中。于是翻开mvc的教程,仔细回顾了一下MVC中路由定位controller和action的过程,也没发现问题。最后仔细比对了一下代码,居然发现新旧controller的命名空间不一样,然后有查.. 阅读全文
posted @ 2011-11-24 21:04 神八 阅读(2665) 评论(2) 推荐(0)
摘要:最近在改进一个wcf程序时碰到了一个常见的问题,监听端口号冲突。按道理这种问题多半发生在同一个监听程序开了多个或者有其他程序占用了端口号引起的。于是按照常规的方式去检查,原以为一个很容易解决的问题,折腾了一小会没找出原因,以至于重启电脑这样的伎俩也用上了还没解决。怀疑是不是程序太复杂了,于是对程序进行了精简,仅保留了wcf相关的配置内容,如下:原配置文件 1<configuration>2<system.serviceModel>3<services>4<servicename="ComplexDataService.MyService&qu 阅读全文
posted @ 2011-11-24 12:30 神八 阅读(2288) 评论(1) 推荐(2)
摘要:最近在修改一个开源POP3客户端框架时,碰到了QuotedPrintable乱码的问题,原框架是老外写的,没有考虑到中文的情况。因此在对QuotedPrintable编码的内容进行解码时,是逐个字符进行转换的,英文的当然不会有任何问题。于是在网上搜了一下,发现基于C#的QuotedPrintable解码的代码很少,找到的大部分都是转帖,而且大部分都是采用默认的Encoding进行解码,前提是用了他... 阅读全文
posted @ 2010-06-19 23:22 神八 阅读(4743) 评论(3) 推荐(1)
摘要:在做网页抓取爬虫类的工具时,经常要对页面进行监控和解析,其中监控就是检查页面内容是否发生了更新。判断网页是否发生变化最直接的方法是设置页面的某一处为监控区域,每次都抓取该部分区域的内容,然后与本地保存的或最近一次抓取内容比较,如果有差异就表明网页发生了变化,才可以进行解析。这种方法比较稳妥,几乎可达到万无一失的效果。但是,这种方式在每次扫描时都要下载页面内容,并且要去截取监控区域的内容,最后还要进... 阅读全文
posted @ 2009-12-20 12:52 神八 阅读(5076) 评论(2) 推荐(1)
摘要:之前发个一篇关于实现html转成xml的劣作《实现html转Xml》,受到不少网友的关心。该实现方法是借助htmlparser去分解html内容,然后按照dom的结构逐个生成xml字符串。在没有充分实践后,还以为该方案能解决问题。然而经过实际使用,效率确实很低,而且对一些特殊html属性的转换也不支持,得到的结果差强人意。  偶然一次机会在浏览codeplex网站时,发现一款很不错的html解析以... 阅读全文
posted @ 2009-12-19 14:27 神八 阅读(15928) 评论(4) 推荐(2)
摘要:做网页解析时,将html转成xml格式之后,再利用xpath则可以轻易地截取任何所需要的数据。在使用xpath时,常常会用到其中的一些函数,特别是字符串函数,完整的函数列表可在w3school找到:http://www.w3school.com.cn/xpath/xpath_functions.asp#string)。然而这仅仅是标准xpath里所提供的,dotnet里这只实现了一部分,特别是本标... 阅读全文
posted @ 2009-12-18 10:26 神八 阅读(15148) 评论(1) 推荐(0)
摘要:最近在做一些网页信息采集的工作,说通俗点就是爬虫工具,要监控页面中某一部分内容是否发生变化。起初考虑用正则表达式去匹配网页源码,经过咨询有经验人士,推荐使用xpath去获取页面内容能获得更好的效率。但是对于html这种宽松语法要求的语言来说,不可能100%地完全符合xml标准,那么就没法使用xpath,说得更直接点就是:不能把html源码直接加载到xmldocument中。为了使用xpath,只能... 阅读全文
posted @ 2009-04-12 10:29 神八 阅读(24783) 评论(5) 推荐(0)
摘要:DotNet中的迭代模式和组合模式 阅读全文
posted @ 2008-07-19 11:34 神八 阅读(493) 评论(0) 推荐(0)