1. 工具使用

  1. Files has invalid value "<<<<<<< .mine". Illegal characters in path.在把旧有的svn内容放置到新的工程的问题,很可能是因为svn文件问题,把模块删掉,再把svn的vspscc文件删掉,还要把bin以及obj文件夹删掉;
  2. 关闭VS2013的Browser Link(总报异常):在调试按钮旁边有一个半圆圈子,点击一下将会弹出一个框,去掉勾选"enable BrowserLink"即可;
  3. VS绑定的svn路径改变后,修改绑定路径,不能从File->Subversion中操作;要右键工程,从右键菜单中选择subversion->Swtich Project修改绑定路径;
  4. 查看环境变量:set path
  5. 设置环境变量:set path="c:\windows"
  6. 附加环境变量:set path=%path%; d:\env
  7. 修改Command窗口缓冲区行数:mode con lines=9000 cols=160(lines/cols只是数据缓冲区的行数和列数,至于页面窗口的大小可以通过拖拉窗体实现;
  8. Windows下面使用Unix工具,下载UnxUtils,在UnxUtils\usr\local\wbin下面可以找到你想要的东西;
  9. shell是界面,接口之意,linux的命令shell应用远多于windows,因为windows是图形化界面,用户可以通过鼠标点击"shell",让内核执行功能;对于Linux,早期是没有界面的,一直到现在,作为服务器linux也很少有页面(娱乐家用的不算);所以敲命令类shell几乎成为了Linux专有名词;windows其实也有自己的命令shell,powershell,只不过对于图形化界面操控为主Windows系列系统,只要使用命令类shell机会委实不多;
  10. 想要查看一个环境变量值:echo %PATH%;
  11. 定位svchost来源,发现此进程占用cpu一直比较大;因为是系统进程,所以一定是service;记住PID,然后在任务管理器中翻转到"服务"Tab,找到对应pID,你会发现,对应的是windows update服务(同时svchost,甚至同一个PID,你会发现绑定了N个服务);在服务中把update服务停掉,问题解决了;
  12. 快捷方式图标,右键可以回到原始应用位置;
  13. Excel的上下键莫名改变为滚轮模式了,只要把"scroll"键的灯按灭即可。
  14. 环境变量其实设置完就会生效,但是要新启一个cmd才会获得最新的环境变量值,因为cmd启动加载一次环境变量后不再更新。
  15.  
    1. Linq & Entity

  16. Linq to Entity里面的join切记:主表放置在等号的左侧(join后面的表要放置在equals的右侧):

  1. The member with identity 'account ' does not exist in the metadata collection.\r\nParameter name: identity

后来证明:我将数据库的表明错误设置成了"acount",导致了表明的不一致;

  1. Linq to Entity中,赋值实体类(BizEntryStockHistory)不能使用toString()等函数;
  2. 会发生DBContext的Dispose的错误,如果引用了Steven的一些类的实现方式使用using{DbContext...},调用Dispose方法自动释放将会导致问题;没办法,只好先把代码改成每次都是new一个DbContext;
  3. 开发过程中发现了一个问题:"XXX" is the key information, can't be modified,这个问题的原因是:从别的库倒过来的表,没有把主键倒过来,导致全员主键,添加了主键后问题解决;
  4. Linq to Entity中的语法不支持函数,所以无法使用where b.ID = int.Parse(someVariable);的语法(因为包含了int.parse函数);
  5. EF的saveChange,在大量数据的时候,超级浪费时间,原因待定;
  6. EntityFrameWork提高性能:AsNoTrack(); Pre-Generated View
  7. EntityFramework配置连接字符串中res后面紧跟的程序集的命名空间;然后如果model被Data文件夹包了一层,需要res://namespace.../Data.Model1.csdl...
  8.  
    1. C#基础

  9. getRawMethodName用于在打方法日志的时候能够输出方法名称(目的是少写一个方法名称参数),但是在部署机器上面获得堆栈是"在 Util.GateKeep……",但是在我的测试机器上面堆栈信息是"at Util.GateKeep……",因为我是使用at作为split参数的,导致在部署机器上面报错,日志报错啊,调了半天;
  10. .net中原子操作是放在Interlock对象里面,里面有Add,Increment以及Decrement等原子操作;
  11. "this compent is automatically reffernece..."错误,这是因为对于system.core等核心dll一旦手动删掉后,就无法进行再添加;需要在*.csproj文件中的<itemGroup>中添加System.Core引用,之后项目会自动重新加载,你所希望的System.Core出现了;
  12. Stopwatch获得执行时间准确;
  13. 秒,非调试运行90秒,相差4倍;
  14. Diction和Hash的区别:
  • 安全性,字典需要手动维护进程同步;Hash有自带的同步方式;
  • Diciton是泛型对象,所以存取不需要经过装箱拆箱,Hash则是存储的对象;
  • 字典的排序,将会因为中间元素的删除而乱掉;Hash则是按照Hash进行排序,所以可以理解为相对于插入的顺序,是无序的;
  1. 说到了单元测试,我觉得在biz层的设计一定要和前端的神马(Web技术)技术解耦,就是一个biz框架,提供了那些功能,Web也好remoting也好,还是Webservice都是可以直接调用;这个很独立的第三方;
  2.  
    1. Web应用

  3. BadImageException:在IIS应用池高级配置中,Enable32bit设置为True即可;
  4. Redirect的Url竟然被附加在基本目录之下?http://基本目录/http....;后来才发现原始因为Url被UrlEncode,对于非合法URL地址,作为参数传递,Redirect将会附加在基本目录之下;
  5. VS2013的Web Form工程如果想要添加Entity Framework,需要安装SQL Server CLR以及XX;
  6. VS,web.config下属的Debug.config可以通过xdt:T以及xdt:L对于父配置文件的节点进行重写(具体方式参见VS2013的Debug/Relese.Config中的注释样例;
  7. 今天调试半天前台数据无法提交到后天,后来才想起来:没有设置name;id是用于前台脚本定位元素用的;但是name是用于标记数据提交后天用的;

 

  1. WCF

  1. 使用WCF切记如果契约类继承了一个接口,那么这个接口也要声明为契约服务,并且所有的方法都被声明为契约操作,才能够被客户端识别为契约方法;
  2. 其他工程添加了ServiceReffence,如果WCF工程有变化,切记编译一下(成功了)之后再右键"update service Reference";
  3. 发布第一个WCF问题:
    1. 无法读取配置节 system.serviceModel 因为它缺少节声明的解决方法:Win2008中添加"功能",添加上".NET Framework3.5.1功能";
    2. 无法识别的属性"targetFramework"。请注意属性名称区分大小写。应用池的.net framework版本调整为4.0;
    3.
    处理程序"svc-Integrated"在其模块列表中有一个错误模块"ManagedPipelineHandler":重新安装windows/microsoft.net/framwork64/v4.0XXX下面的"aspnet_regiis.exe";需要用管理员权限运行cmd进行执行;
    4."由于内部错误,服务器无法处理该请求…",打开WCF部署位置的web.config,behaviors/ serviceBehaviors/ behavior下面增加节点信息:<serviceDebug includeExceptionDetailInFaults="true"/>;之后就可以查看远程调用的异常信息;
    5.发生了错误"索引超出了数组界限",调用方法内部没有输出log,证明还没有调用到方法体内部,很可能是因为:网站已经出错了,于是在IIS中右键浏览,看看网站报的异常;很多时候依赖于调用之后弹出的错误信息不够充分,首先判断是方法错误还是网站部署错误;
  4. 在发布WCF的时候,我发现了容器管理对象的好处,比如两套WCF(一套是本地测试环境,一套是正式环境),在program中队webservice代理对象进行管理,只需要更改program对象引用即可,完全不需要在其他地方进行分心;同时对于两套对象,保证接口是一致的(即使命名空间不一致也要保证函数签名,实体类属性名称是一致的),保证对象的变化,对于容器使用者而言是透明的;
    1. ASP.Net MVC

  5. ASP.net项目运行的时候,通过浏览器敲入请求url切记actionName前缀是controllerName;
  6. View下面有一层和controller同名(去掉"Controller"部分的名称)的文件夹,这样在controller中return VIew()的时候才能够找到;
  7. 昨天把App_Start以及global文件中的route内容都删掉了,导致在请求action始终返回404;
  8. ViewData是一种字典型的和前后台进行交互容器;ViewBag其实是对ViewData的封装,不过增加了匿名的处理;TempData适用于Redirect跳转间的同步(跳转间ViewBag等无法共享);对于大数据的前后台共享采用ViewModel;
  9. 异常:Expected FS Format between '1' and '4', but found '6',这是因为repository使用1.8,但是eclipse的subEclipse版本却很低,下载使用site1.10.zip;Help -> Install New Installation... -> Archeve;
  10. C#中Radom的minValue和maxValue的范围是:[minValue, maxValue);
  11. 都带,windows自带功能;安装完后,还需要在服务中将telnet服务启动;
  12. flume中配置source为netcat,设定bind的ip以及port,其实本质就是使用netcat工具监听消息;flume提供jar封装了对于netcat的操作;
  13. source本质是监听功能,接受推(pull)过来的消息;channel是消息队列功能;sink是存储(持久化)功能;
  14. flume的另外一个模式是一个agent的sink是另外一个agent的source;
  15. 异常:SSLReqire don't match those of IIS "none";原因:在IIS的"SSL设置"中,客户端证书选择"接受",这个配置需要重启一下IIS才能生效;
  16. 异常:ASP.NET Runtime Error XXX(site) is not valid IIS application;原因:WCF工程的Web面板里面的路径配置有误,路径不应该包含svc文件;
  17. WCF配置behavior需要配置名称;在客户端的配置中可以不带名称,但是在服务器端需要,特别是服务器端还要作为客户端向别的服务器发送请求;如果不配置名称,比如ClientCredential节点将会报异常;
  18. IIS的绑定Https指定的证书是消息加密用的,和认证无关;所以IIS配置的SSL证书和验证用的证书没有关系,可以随意配置;
  19. IIS应用池的内置账户:Network Service以及ApplicationIdentityAccount默认是没有访问证书私钥权限的;这是导致WebService请求WebService失败的原因(can't create the secure channel to authority XX.XX.XX);但是可以通过WinHttpCertCfg来进行赋权限;
  20. WCF对于身份认证用的证书校验有三个枚举:
    PeerTrust:证书必须是受信任根证书;
    ChainTrust:证书必须是收信任的人;
    PeerOrChainTrust:以上两个条件满足任意一个即可;
  21. 采用了经典模式,需要在ISAPI以及CGI限制中,打开.net framework4.0的限制,这一点也说明了经典模式还是依赖于ISAPI模块的;配置的节点是在system.web/httpModules下,添加add节点;如果不打开该限制,将会导致无法访问aspx文件,但是html文件可以正常访问,因为默认配置中html文件交由IIS服务器处理,而不是ASPNETmodule处理;
  22. 如果应用池模式配置为集成,就不能再sysetm.web/httpModules下面进行module配置了(之前的配置需要删除掉),而是通过对<system.webserver><modules>节点进行配置;而且集成模式后,即使html文件的请求也经过该配置模块;
  23. 可以看到,代表兼容早期的经典模式,ISAPI其实是作为IIS的一个扩展来进行处理的,而且aspx文件和静态文件(html等)是分开来处理的,扩展的IHttpModule,只是在请求aspx等文件的时候才会进行处理,但是到了集成模式,所有的文件处理都统一通过IIS进行处理,ISAPI及时设置为不允许(在CGI和ISAPI限制中做设置),也毫无作用,集成模式已经和ISAPI没有什么关系了,.net程序也和IIS深度统一,这个也是"集成"由来;
  24. ,重新运行aspnet_regiis完美解决;因为昨天把IIS卸载了,又重新装,每次装IIS都要进行手动注册.net 4.X的ISAPI,否则默认就是安装IIS7.5自带的.net 2.0;
  25. Http Request was forbidden which client schema "Anonymous",身份验证->确保只有匿名访问时打开的;
  26. ,但是ToList()之后只有19条,因为内联User表,Creator字段和User表UserId关联不上(数据原因)
  27. 今天发现dbContext.Save()的时候抛出了一个异常DbentityValidationException,但是如果我直接catch这个类型的异常告诉我:type caught or thrown must be derived from SystemException;看到这个异常继承自DataException;原来DataException是System.Data程序集的类,但是我的那个工程并没有引用System.Data,所以对当前工程无法确定DbentityValidationException继承自System.Exception;工程引用了该dll之后,问题解决;VS其实也只是"有限知道";
  28. Win2008安装了IIS后发现没有"SSL配置",搞了半天,后来发现可能是因为安装的原因,因为:删除角色,重新安装即可;
  29. 一旦解决方案使用svn绑定了,再用vss,就需要change source control,对其各个工程进行重新绑定,绑定到vss服务器上面;
  30. int32是32位,10位数字(十进制),int64(即long),19位数字(10进制);
  31. Locker的本质是一个当年大学借书馆的书牌,只有拿到书牌的人才有资格进入图书馆(获取资源);lock的对象就是一个书牌,这个书牌在类内部是全局好用的;比如你在getPackageNames()加锁"permit"(一个Object类型变量),那么UpdateNames代码中仍然是这个锁对象,那么也是要等待getPackageNames()释放后才能够执行代码;
  32. List.Contains判断是否存在再Remove效率远远低于直接Remove(在大数据量的情况下);所以测试数据才是王道;
  33. 以后想到的问题还是要在代码中添加TODO用于提醒,今天晚上检索的index靠后,数据不够了要到数据前面补充就是后来才想到的;还有本来USE_FLG添加索引我曾经想到的,但是后来忘记了,还是Steven提到了这个解决方案;
  34. Task.Run(() => {... ...});多线程异步执行内容;
  35. Single和First之间的区别:T.Single(),要求T的Count必须是1;T.Sing(n=>{... ...}),则要求匿名函数返回的数量一定是1,但是First()只要大于0即可,这是看过了源码发现的;

C#开发攀爬集锦的更多相关文章

  1. Unity手游之路<十>自动寻路Navmesh之跳跃,攀爬,斜坡

    http://blog.csdn.net/janeky/article/details/17598113 在之前的几篇Blog总,我们已经系统学习了自动寻路插件Navmesh的相关概念和细节.然而,如 ...

  2. UDK:AdventureKit 攀爬系统

    [目标] AdventureKit攀爬系统 [思路] [步骤] 1 拷贝 2 设置config,UDKGame\Config\DefaultEngine.ini 添加包 [UnrealEd.Edito ...

  3. Unity手游:自动寻路Navmesh 跳跃 攀爬 斜坡

    原地址:http://dong2008hong.blog.163.com/blog/static/46968827201403114644210/ 步骤 1.在场景中摆放各种模型,包括地板,斜坡,山体 ...

  4. Unity 自动寻路Navmesh之跳跃,攀爬,斜坡

    在之前的几篇Blog总,我们已经系统学习了自动寻路插件Navmesh的相关概念和细节.然而,如果要做一个场景精美的手游,需要用到各种复杂的场景地形,而不仅仅是平地上的自动寻路.今天我们将通过一个完整的 ...

  5. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十九】

    <Web 前端开发精华文章推荐>2013年第七期(总第十九期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...

  6. webmagic 二次开发爬虫 爬取网站图片

    webmagic的是一个无须配置.便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫. webmagic介绍 编写一个简单的爬虫 webmagic的使用文档:http://w ...

  7. mac开发环境爬坑记(搭建php+nginx+mysql+redis+laravel+git+phpstorm)

    题外话:前几天,终于以原价一半的价格,将我那台15版mbp在bbs上卖了出去.之所以用了“终于”这个词儿,是我一直迟迟没有下定决心卖掉它,可眼瞅着再不卖掉,又要掉价,况且我的新电脑,也终于下来了. 话 ...

  8. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十七】

    <Web 前端开发精华文章推荐>2013年第五期(总第十七期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HTML5 和 C ...

  9. iOS开发中常见问题集锦

    在iOS开发中,会出现各种各样的问题.今天,就把这些常见的问题以及各位大牛的解决方案汇总下,方便以后查阅: 常见错误: 1. linker command failed with exit code ...

随机推荐

  1. 常用加密算法的Java实现总结(二) ——对称加密算法DES、3DES和AES

    1.对称加密算法 1.1 定义 对称加密算法是应用较早的加密算法,技术成熟.在对称加密算法中,数据发信方将明文(原始数据)和加密密钥(mi yue)一起经过特殊加密算法处理后,使其变成复杂的加密密文发 ...

  2. 使用phpize建立php扩展(Cannot find config.m4)(转)

    php源码:/root/soft/php-5.3.4php安装: /usr/local/php [root@ns root]# phpizeCannot find config.m4.Make sur ...

  3. careercup-排序和查找 11.4

    11.4 设想你有一个20GB的文件,每一行一个字符串.请说明将如何对这个文件进行排序. 解法: 当面试官给出20GB大小的限制时,实际上在暗示些什么.就此题而言,这表明他们不希望你将数据全部载入内存 ...

  4. TCP/IP 中的二进制反码求和算法

    对于这个算法,很多书上只是说一下思路,没有具体的实现.我在这里举个例子吧 以4bit(计算方便一点,和16bit是一样的)做检验和来验证. 建设原始数据为 1100 , 1010 , 0000(校验位 ...

  5. 编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件

    在使用Qt Designer设计窗体界面时,我们可以使用Widget Box里的窗体控件非常方便的绘制界面,比如拖进去一个按钮,一个文本编辑器等.虽然Qt Designer里的控件可以满足我们大部分的 ...

  6. mysql my.ini 详解

    linux下mysql配置文件my.cnf详解[转]   basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的目录 ...

  7. Android主题换肤 无缝切换

    2016年7月6日 更新:主题换肤库子项目地址:ThemeSkinning,让app集成换肤更加容易.欢迎star以及使用,提供改进意见. 更新日志: v1.3.0:增加一键切换切换字体(初版)v1. ...

  8. IOS设备上给body绑定click事件不生效及其解决办法

    事件背景: 最近在做一个移动端业务的时候碰到一个bug,在ios上对body绑定click事实现事件代理冒泡至某些元素上尽然不生效. 思考: 暂借助jquery展示下事件绑定代码,将所有标签含有dat ...

  9. Objective-C语法快速参考(C# 和 Objective-C 语法的比较)

    大部分有一点其他平台开发基础的初学者看到XCode ,第一感想是磨拳擦掌,看到 Interface  Builder 之后,第一感想是跃跃欲试,而看到Objective-C 的语法,第一感想就变成就望 ...

  10. 正则表达式 和 junit测试

    需要知道一些常规的正则表达式语句,然后可以仿照规则写出一下正则表达式语句.然后是关于junit测试. 知道了一个之前看过的文档,然后有功夫就看一下那个文档就可以,或者后面找时间搜索一下. 正则表达式是 ...