摘要: 之前买了个树莓派玩,觉得挺有意思。于是又买了个打算长期当个小服务器用。记录一些用到的东西以后好找:先换掉更新源,加速安装。sudo nano /etc/apt/sources.listdeb http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheez... 阅读全文
posted @ 2014-08-21 18:08 Elvin Chen 阅读(6683) 评论(0) 推荐(1) 编辑
摘要: 最近一个项目使用ASP.NET Identity + Entity Framework 6开发,本来一切正常。某时注意到,更改密码功能程序执行起来没有问题,界面上也报修改密码成功,但实际上密码并没有被修改。但同时,注册和登录一切正常。经过一整天的查找对比,终于找到问题所在:db.Configuration.AutoDetectChangesEnabled = false;我的DbContext默认初始化时加上了这句,只要有这句,修改密码功能就不起作用。解决方法是AccountController里初始化DbContext时使其等于True。留档。 阅读全文
posted @ 2014-02-19 20:07 Elvin Chen 阅读(636) 评论(0) 推荐(0) 编辑
摘要: It is impossible to identify the database type by a connection string. So, XPO requires you to add an additional parameter into the connection string to specify the provider type. The parameter name is XpoProvider. So, the connection string will be like this:XpoProvider=Provider name;Connection stri 阅读全文
posted @ 2012-06-01 18:19 Elvin Chen 阅读(1326) 评论(0) 推荐(0) 编辑
摘要: 装了NLOG 2.0的MSI安装包,按说在C#代码里键入nlogger后tab一下,就能自动弹出private static Logger logger = LogManager.GetCurrentClassLogger();的代码的,但是在我的两台机器上都不工作。原因是NLOG的MSI安装包把CSharpLogger.snippet文件装到了C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC#\Snippets\1033\Visual C#下,而VS 2010实际上是去看C:\Program Files (x86)\Microsof 阅读全文
posted @ 2011-08-05 18:00 Elvin Chen 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 其实应该算是补遗了,之前的一篇随笔曾经介绍了如何在XPO中为非主键字段获取Int型自增量,但今次在实际应用中发现该段代码是有问题的。最大的问题,它并不线程安全的,这一点在今天的一个Parallel.For测试中暴露无遗。原代码使用一个MaxIdGenerationAttempts = 7的常量来控制重试次数,如果发现当前保存操作引发了LockingException则歇一段时间重试。这样有2个问题,一来它并没有根本上解决线程安全问题,在并发量稍高一点的情况下,某条不走运的线程重试了7次依然无法成功完成操作后还是会引发异常;二来多次的读写尝试耗费了大量的时间。加大这个常量可以延后引发异常的时间点 阅读全文
posted @ 2011-07-25 16:58 Elvin Chen 阅读(690) 评论(1) 推荐(0) 编辑
摘要: 在上一篇随笔中记录了“多语言”的图片机制,那样的好处显而易见,但实际上却引入了另一个问题。在讨论该问题之前,先要做一点说明。Sitecore在默认设置下,当前浏览对话的语言偏好是保存在cookie里的。换句话说,有可能我们浏览的同一个页面的不同的语言版本,在浏览器中的URL是一模一样的。现在我们来看问题:假如我们现在有一个产品在如下的URL:www.somesite.com/product1.aspx在sitecore的preview中它很正常,但当我们在preview里把语言版本切换成中文时会发现,所有的文字内容都正确的切换了版本,但图片依旧是英文版。而按一下F5刷新以后,图片才会变成正确的 阅读全文
posted @ 2011-06-24 18:29 Elvin Chen 阅读(1080) 评论(0) 推荐(0) 编辑
摘要: Sitecore本身可以很方便的对各类文字类型的数据进行多语言的管理,除了默认的英语以外,只需要在sitecore中增加一个语言,例如中文,那么所有在~/sitecore/content下的项都可以创建中文版本。这对文字类型的数据进行多语言的管理非常方便。但实际上,对于“数据”类的图片,我们也可以并且也应该进行“多语言”的管理。这里我对“数据”类的图片是指包含了“数据”的图片,为了和用以做布局的背景图一类的图片做区分。例如产品的照片里,出现不同的语言文字是很常有的;甚至针对不用语言地区的用户,产品的包装都是不同的。而sitecore的media library里上传图片,默认的类型是unver 阅读全文
posted @ 2011-06-24 18:06 Elvin Chen 阅读(769) 评论(0) 推荐(0) 编辑
摘要: 在学习Sitecore Startkit时发现他们在~/sitecore/content/建立了一个名为Meta-Data的文件夹,并且将一些网站有关的元数据都保存在这个文件夹下,例如菜单的样式,当前套用的主题等。可是当我在跟随startkit学习时却发现无论如何也无法在~/sitecore/content下新建文件夹,折腾了半天,最后发现原来所谓的新建“文件夹”,依然是插入一个类型为"folder"的template而已:在~/sitecore/content/下新建文件夹的方法:插入一个~/templates/common/FolderFolder当然也可以嵌套,继续插 阅读全文
posted @ 2011-06-24 17:17 Elvin Chen 阅读(596) 评论(0) 推荐(0) 编辑
摘要: MembershipProvider做ASP.NET的朋友们应该都很熟悉了,对简单的项目很好用。MS也给了现成的SqlMembershipProvider,但正如它的名字所暗示的,它也只能用在SqlServer上。空的时候就用XPO自己实现了一套MembershipProvider,可以简单的用在几乎所有的数据库上了,也易于扩展。其中也顺便集成了Michael Proctor 的[XPO_Easy... 阅读全文
posted @ 2010-09-26 15:36 Elvin Chen 阅读(992) 评论(1) 推荐(0) 编辑
摘要: 之前写过一个XPO初始化类,刚学了个DataStoreFork,改造了一下:[代码]用法和之前的一样,注意在Config文件的AppSetting节里要增加一条: <add key="DatabaseMaxConnections" value="2"/>Value应该>=1,<=数据库服务器的CPU核心数。如果没有这一节,或者Value<=1,则不会使用DataSto... 阅读全文
posted @ 2010-09-26 15:18 Elvin Chen 阅读(1139) 评论(0) 推荐(0) 编辑