<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aikuo9061的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aikuo9061</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aikuo9061]]></copyright><item><title><![CDATA[TSQL生成Combguid]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206647</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206647</guid><author>aikuo9061</author><pubDate>Sat, 26 Mar 2016 12:59:00 +0800</pubDate><description><![CDATA[Nhibernate实现combguid

/// &lt;summary&gt;
        /// Generate a new &lt;see cref="Guid"/&gt; using the comb algorithm.
        /// &lt;/summary&gt;
        private Guid GenerateComb()
    ...]]></description><category></category></item><item><title><![CDATA[ServiceLocator是反模式]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206618</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206618</guid><author>aikuo9061</author><pubDate>Sun, 06 Sep 2015 23:35:00 +0800</pubDate><description><![CDATA[关于ServiceLocator模式
http://www.cnblogs.com/hwade/archive/2011/01/30/CommonServiceLocator.html
为什么是Anti-Pattern
起源于同事发给我的链接 http://blog.ploeh.dk/2010/02/03/ServiceLocatorisanAnti-Pattern/
结合总结工作中使用...]]></description><category></category></item><item><title><![CDATA[使用表达式树创建对象]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206619</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206619</guid><author>aikuo9061</author><pubDate>Sat, 25 Apr 2015 22:57:00 +0800</pubDate><description><![CDATA[原来程序中的代码：public static T GetInstance&lt;T&gt;() where T : new()
        {
            return new T();
        }
需要扩展这个方法支持参数传递。可惜泛型约束不支持指定构造函数参数，那只好使用对象反射了。 public class A
    {
        pub...]]></description><category></category></item><item><title><![CDATA[TeamCity配置笔记]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206617</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206617</guid><author>aikuo9061</author><pubDate>Sun, 12 Apr 2015 13:56:00 +0800</pubDate><description><![CDATA[1.编译sln   2.发布网站   3、重复代码检测    4、代码分析   5.单元测试&amp;覆盖率测试   查看代码覆盖率   7.代码签入时自动触发编译  8.通知 1.在teamcity安装目录中找到TrayNotifierInstaller.msi安装打开 2.相关设置   单元测试失败时，右下角弹出    9.备份&amp;还原配置  还原： 1.停止T...]]></description><category></category></item><item><title><![CDATA[AutoMapper映射ExpressionTree]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206615</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206615</guid><author>aikuo9061</author><pubDate>Wed, 25 Mar 2015 22:56:00 +0800</pubDate><description><![CDATA[问题描述
项目中使用AutoMapper进行VO&amp;DTO&amp;Entity的互相映射，但是默认Map方法不支持Expression的转换。如
Expression&lt;Func&lt;Entity,bool&gt;&gt; fun = _ =&gt; _.A == "A";
希望转换成
Expression&lt;Func&lt;Dto,bool&gt;&gt; f...]]></description><category></category></item><item><title><![CDATA[Automapper扩展方法]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206616</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206616</guid><author>aikuo9061</author><pubDate>Fri, 20 Mar 2015 21:15:00 +0800</pubDate><description><![CDATA[问题描述
系统中实现了一个自定义的PagedList
/// &lt;summary&gt;
    /// Paged list interface
    /// &lt;/summary&gt;
    public interface IPagedList
    {
        int PageIndex { get; }
        int PageS...]]></description><category></category></item><item><title><![CDATA[Cache&Session Viewer]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206614</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206614</guid><author>aikuo9061</author><pubDate>Thu, 12 Mar 2015 21:41:00 +0800</pubDate><description><![CDATA[用于查看和删除网站Cache https://github.com/sdf333/Aspy

转载于:https://www.cnblogs.com/miku/p/4333792.html]]></description><category></category></item><item><title><![CDATA[Orchard源码：Logging]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206613</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206613</guid><author>aikuo9061</author><pubDate>Thu, 26 Feb 2015 22:41:00 +0800</pubDate><description><![CDATA[试着用markdown写些东西。貌似博客园支持的还有问题，代码片段显示错位，还得另外上传图片。还是用普通方法写写随笔好了。 Logging相对也是比较松耦合的模块，可以随时提取出来用在自己的项目中。其实说到底它还是用的log4net。先看一下几个文件。  1.ILogger。俗话说面向接口编程，这个就是Orchard中Logger的接口，提供了2个方法public interface I...]]></description><category></category></item><item><title><![CDATA[Selenium&EmguCV实现爬虫图片识别]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206612</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206612</guid><author>aikuo9061</author><pubDate>Tue, 24 Feb 2015 12:39:00 +0800</pubDate><description><![CDATA[概述
爬虫需要抓取网站价格，与一般抓取网页区别的是抓取内容是通过AJAX加载，并且价格是通过CSS背景图片显示的。

每一个数字对应一个样式，如'p_h57_5'
.p_h57_5 {
background: url('http://pic.c-ctrip.com/priceblur/h57/3713de5c594648529f39d031243966dd.gif') no-repeat...]]></description><category></category></item><item><title><![CDATA[最近微信开发遇到的坑]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206610</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206610</guid><author>aikuo9061</author><pubDate>Mon, 23 Feb 2015 17:28:00 +0800</pubDate><description><![CDATA[1. 微信内置浏览器打开页面是白板，以为是写的脚本兼容问题。后来删代码排除法发现问题是在vs2013生成的一段脚本上
&lt;script type="application/json" id="__browserLink_initializationData"&gt;
    {"appName":"Firefox","requestId":"861592d477c64fd590...]]></description><category></category></item><item><title><![CDATA[Orchard源码：EventBus&EventHandler]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206648</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206648</guid><author>aikuo9061</author><pubDate>Mon, 23 Feb 2015 17:16:00 +0800</pubDate><description><![CDATA[概述
看源码是一件吃力又很爽的事情，昨天还被搞的一头雾水，今天忽然守得云开见月明。明白它设计意图的同时，感觉自己又提升了一步：）
Orchard刚开始看往往毫无头绪，建议可以从Orchard.Framework&amp;UnitTest入手，先弄明白底层框架机制，抽丝剥茧，一步一步农村包围城市。不用着急，说不定哪天睡觉一下子就理解了。
今天看一下它的事件通知模块的设计，相关类
...]]></description><category></category></item><item><title><![CDATA[AutoResetEvent和ManualResetEvent理解]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206646</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206646</guid><author>aikuo9061</author><pubDate>Tue, 17 Feb 2015 23:15:00 +0800</pubDate><description><![CDATA[AutoResetEvent和ManualResetEvent用于多线程之间代码执行顺序的控制，它们继承自WaitHandle，API相同，但在使用中还是有区别的。 每次使用时虽然理解了，但由于没有去深入思考记忆，过几天又忘记了。到下次需要使用的时候又要重新去理解这2个类。 今天再次遇到他们，写下这篇随笔。。加深理解印象。以后不用去纠结他们了。  1.构造函数参数 var manualR...]]></description><category></category></item><item><title><![CDATA[缓存设计]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206645</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206645</guid><author>aikuo9061</author><pubDate>Mon, 16 Feb 2015 22:21:00 +0800</pubDate><description><![CDATA[系统中都用到过cache，但想要把cache模块做到完善却不是这么容易的。想到的地方

高并发下的设计 （http://www.cnblogs.com/mushroom/p/4199701.html ）
缓存容器的扩展（HTTP缓存，本机缓存，分布式缓存），可以方便的切换共存。（http://www.cnblogs.com/shanyou/archive/2010/07/01/1...]]></description><category></category></item><item><title><![CDATA[工作中遇到的一道SQL应用题]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206644</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206644</guid><author>aikuo9061</author><pubDate>Sat, 14 Feb 2015 22:29:00 +0800</pubDate><description><![CDATA[登录日志表
CREATE TABLE [dbo].[LoginLog]([Seq] [int] NOT NULL IDENTITY(1, 1), --Seq[UserId] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL, --用户名[LoginTime] [datetime] NULL, --登录时间[SuccessFlg] [bit] ...]]></description><category></category></item><item><title><![CDATA[Orchard源码：缓存设计]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206643</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206643</guid><author>aikuo9061</author><pubDate>Thu, 12 Feb 2015 23:32:00 +0800</pubDate><description><![CDATA[概述
从缓存失效的几种方式开始了解Orchard缓存设计
1.设置失效时间
  Func&lt;int&gt; retrieve = ()
                =&gt; _cacheManager.Get("testItem",
                        ctx =&gt; {
                            ctx...]]></description><category></category></item><item><title><![CDATA[Orchard源码：热启动]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206642</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206642</guid><author>aikuo9061</author><pubDate>Mon, 09 Feb 2015 22:56:00 +0800</pubDate><description><![CDATA[概述
IIS线程池中的线程数量是有限制的。当有多个长时间请求时，可能会耗尽IIS可用线程。出现503错误。在MVC中。当遇到非CPU操作的长时间请求时，MVC提供了异步方法来解决这个问题。
例：利用async和await实现异步方法
// GET: Async

[AsyncTimeout(1000)]

public async Task&lt;ActionResult&...]]></description><category></category></item><item><title><![CDATA[RouteDebugger分析]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206641</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206641</guid><author>aikuo9061</author><pubDate>Thu, 24 Jan 2013 16:37:00 +0800</pubDate><description><![CDATA[RouteDebugger的介绍 http://www.cnblogs.com/suizhikuo/archive/2012/07/25/2608889.html  2.RouteDebugger结构，一共有5个文件，将逐一解释每个文件的作用  RouteDebug.cs     using System.Web.Routing;

namespace RouteDebug
{...]]></description><category></category></item><item><title><![CDATA[MVC扩展（ModelBinder）]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206640</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206640</guid><author>aikuo9061</author><pubDate>Mon, 21 Jan 2013 12:55:00 +0800</pubDate><description><![CDATA[1.从最简单的开始
model

public class Person
{
    public int ID { get; set; }
    public string Name { get; set; }
}

cshtml

@using (Html.BeginForm())
{
            &lt;div&gt;@Html.TextBo...]]></description><category></category></item><item><title><![CDATA[MVC扩展（Templated Razor Delegates）]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206639</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206639</guid><author>aikuo9061</author><pubDate>Thu, 17 Jan 2013 14:58:00 +0800</pubDate><description><![CDATA[概念请参考：http://www.cnblogs.com/jingtao/archive/2010/08/18/1802454.html
简单来说就是Razor实现的一个模板引擎，根据自己业务传入数据参数并生成数据。模板引擎的最大作用就是显示与业务分离，代码重用更容易提高开发效率。
先看一段代码

@{
    Func&lt;LogOnModel, object&gt; di...]]></description><category></category></item><item><title><![CDATA[MVC扩展（ControllerFactory VS DependencyResolver）]]></title><link>https://blog.youkuaiyun.com/aikuo9061/article/details/102206638</link><guid>https://blog.youkuaiyun.com/aikuo9061/article/details/102206638</guid><author>aikuo9061</author><pubDate>Wed, 16 Jan 2013 14:52:00 +0800</pubDate><description><![CDATA[MVC中两种实现DI的办法 ControllerFactory &amp; DependencyResolver
具体请参照 。
DependencyResolver是MVC3中新增的专门用于实现DI的类。比起ControllerFactory
1.实现代码更简单，职责更清晰。
2.各种主流的IOC容器都实现了自己的IDependencyResolver，与MVC集成更容易。如果...]]></description><category></category></item></channel></rss>