<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[实践与分享]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jackvs</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jackvs]]></copyright><item><title><![CDATA[Windows API技术的演化]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/48156511</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/48156511</guid><author>jackvs</author><pubDate>Tue, 01 Sep 2015 13:01:48 +0800</pubDate><description><![CDATA[从Windows 1.0 到Windows 10，对于普通用户来说，显而易见地，用户界面已经发生了很多变化。对于Windows的开发者来说，伴随着Windows系统的不断发展，API技术演化也已经在不知不觉经历了好几代的变化。本文简单地讨论了WindowsAPI技术演化过程，个人理解，欢迎拍砖]]></description><category></category></item><item><title><![CDATA[使用Web Deploy部署远程网站]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/8952263</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/8952263</guid><author>jackvs</author><pubDate>Mon, 20 May 2013 20:29:43 +0800</pubDate><description><![CDATA[选中Web工程，右键 > Publish，填写相应的信息


点击Validate Connection会出现错误，这里勾选"Save this certificate ...", 并"Accept"就可以了




点击Preview查看


确认无误后，点击Publish，大功告成]]></description><category></category></item><item><title><![CDATA[在Windows Server 2008 R2上部署ASP.NET MVC应用]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/8952088</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/8952088</guid><author>jackvs</author><pubDate>Mon, 20 May 2013 20:07:20 +0800</pubDate><description><![CDATA[OS: Windows Server 2008 R2
.NET: 4.0


(1) 安装IIS
打开管理工具 > 服务器管理, 选择角色 > 添加角色




勾选Web服务器选项




选择除FTP外的角色服务(可选)




(2) 安装Web Deployment
安装方式选择Custom


选中全部模块(可选)




(3)]]></description><category></category></item><item><title><![CDATA[[Team City] 更改服务端口]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/8947202</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/8947202</guid><author>jackvs</author><pubDate>Sun, 19 May 2013 17:08:01 +0800</pubDate><description><![CDATA[(1) 更改team city的配置端口
打开%Team City Home%\conf\server.xml
找到如下段落:
    <Connector port="8888" protocol="HTTP/1.1"
               connectionTimeout="60000"
               redirectPort="8543"]]></description><category></category></item><item><title><![CDATA[Entity Framework5中的数据migration]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/8922695</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/8922695</guid><author>jackvs</author><pubDate>Mon, 13 May 2013 22:45:56 +0800</pubDate><description><![CDATA[(1) 把需要更新的工程选中为”起始工程“


(2) 打开Package Manager Console


(3) 选中项目为"Default Project"


(4) 运行update-database命令


(5) 打完收工
注意事项：
在migration所在的项目中，需要有数据库连接串，否则会使用系统默认的数据库连接。]]></description><category></category></item><item><title><![CDATA[使用NDBUnit来帮助单元测试进行数据还原]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7850537</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7850537</guid><author>jackvs</author><pubDate>Fri, 10 Aug 2012 12:44:24 +0800</pubDate><description><![CDATA[每次在做单元测试的时候，数据还原一直是一个很头痛的问题，在跑每个单元测试之前，每次都需要将数据库恢复到特定的状态，来确保单元测试的数据有效性。
笔者在写单元测试时，曾经用过下面两种方法：
(1) 在跑单元测试前，重建数据库，使用sql脚本导入测试数据
 优点：干净彻底，简单明了
 缺点：每次都要重建数据库，在数据量比较大的情况下，性能会比较低下；数据导入的脚本也由原生的SQL写成，在数据库]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC - Model Bind机制浅析]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7835438</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7835438</guid><author>jackvs</author><pubDate>Tue, 07 Aug 2012 14:28:04 +0800</pubDate><description><![CDATA[这一篇文章可能会比较凌乱。因为我分析ModelBinder的过程并不顺利，牵涉到的类总是互相缠绕，几乎在源码中迷路。我最终决定用画图来理清这些萦绕不断的关系。
Model Bind的原理
Model BInd其实就是把从把Request中的QueryString, InputStream, Form和RouteData通过各种形式绑定到一个object的过程。



Providers]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC - 漫谈ActionMethodDispatcher]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7817860</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7817860</guid><author>jackvs</author><pubDate>Wed, 01 Aug 2012 13:48:56 +0800</pubDate><description><![CDATA[跳过ASP.NET MVC中所有的路由映射和各种有的没的缓存机制，一个个请求从发送到处理，最终是由Action去执行的，而在ASP.NET MVC中，Action的最终执行者叫做ActionMethodDispacher。
在这篇文章中，我想从无到有地建立一个Dispatcher，顺便窥探一下ASP.NET MVC中Action的执行机制。
在没有看源码之前，我觉得这个Dispatcher没有]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC - Area的路由映射（使用NampSpace）]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7793034</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7793034</guid><author>jackvs</author><pubDate>Fri, 27 Jul 2012 13:09:21 +0800</pubDate><description><![CDATA[在开始之前，首先来看2个问题。
如果有一个Area叫Database，在它的下面有一个Controller名字叫做Browse。
另外我在顶层也有一个Controller，名字也叫Browse。
NameSpace结构如下：
MvcApplication.Controllers.BrowseController
MvcApplication.Areas.Database.Controll]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC - 定制属于你自己的ViewEngine]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7788743</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7788743</guid><author>jackvs</author><pubDate>Thu, 26 Jul 2012 14:17:57 +0800</pubDate><description><![CDATA[ASP.NET MVC出来这么久了，心中却又很多的疑惑：为什么所有的View都要放在Views目录下? 为什么Shared文件夹下面的页面可以被共享? 为什么Page既可以是*.cshtml，也可以是*.aspx? 
其实上面的几个问题归结起来都是视图引擎的功效。
在传统的ASP.NET中，可能还没有ViewEngine的概念。因为在Web From里面，实现Page实现了IHttpHanld]]></description><category></category></item><item><title><![CDATA[.NET基础知识问题汇总(持续更新中)]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7755527</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7755527</guid><author>jackvs</author><pubDate>Tue, 17 Jul 2012 15:31:35 +0800</pubDate><description><![CDATA[1. 简述 private、 protected、 public、internal修饰符的访问权限。
private: 只能在类的内部访问，即使子类也不能够访问
protected: 可以在类的内部访问，子类也可以访问，但无法通过外部访问。
public: 可以在类或子类的内部访问，也可以通过外部访问。
internal: 只能在程序集内部访问。


2. 列举ASP.NET 页面之]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC 仿真 - (3)从Assemblies中找出所有的Controller]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7732424</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7732424</guid><author>jackvs</author><pubDate>Tue, 10 Jul 2012 13:33:47 +0800</pubDate><description><![CDATA[上次已经获取了Controller的名字，想通过Controller的名字来实例化一个Controller，该怎么办呢？
MVC框架的做法是从相关的Assembly中找出所有符合Controller特性的类型。将它们放入一个叫MVC-ControllerTypeCache.xml的缓存中。这次重点我们来仿真一下如何从所有先关的Assembly中找出Controller类型，缓存机制到以后性能优化]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC 仿真 - (2)定制自己的HttpHandler]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7731924</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7731924</guid><author>jackvs</author><pubDate>Tue, 10 Jul 2012 11:05:20 +0800</pubDate><description><![CDATA[上次说到了Route的注册，这回接下去讲。由于源码本身要复杂许多，我这面只是要仿真下.NET MVC框架请求接收与处理的信息脉络，所以去繁就简，只留下一些核心的代码。

namespace MvcFake.mvc
{
    public class MvcRouteHandler : IRouteHandler
    {
        public MvcRouteHandler()]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC 仿真 - (1)Route的注册]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/7729699</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/7729699</guid><author>jackvs</author><pubDate>Mon, 09 Jul 2012 16:36:40 +0800</pubDate><description><![CDATA[粗粗看了ASP.NET MVC的源码。打算写一系列的文章来仿真一下ASP.NET MVC这个框架(当年迷《深入浅出MFC》，仿真情结比较严重)。
网上搜了一圈，都说定制RouteHandler是处理MVC路由的关键，我粗粗看了一遍，发现MVC确实自己订制了一个Handler，叫做MvcRouteHandler.
可是我团团找了一遍，竟然没有发现路由的注册跟这个MvcRouteHandler有半]]></description><category></category></item><item><title><![CDATA[常用SQL语句(T-SQL)]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/6976482</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/6976482</guid><author>jackvs</author><pubDate>Wed, 16 Nov 2011 12:37:01 +0800</pubDate><description><![CDATA[(1) 获取上个月的第一天

DATEADD(mm, DATEDIFF(mm,0,dateadd(month,-1,getdate())),0)
(2) 判断表是否存在

IF OBJECT_ID(N'dbo.TABLE_NAME', N'U') IS NULL

(3)单引号转义

SELECT '''abc'
(4)Trim掉DateTime的时分秒


SQL Se]]></description><category></category></item><item><title><![CDATA[使用MbUnit进行数据驱动测试(单元测试)]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/6706255</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/6706255</guid><author>jackvs</author><pubDate>Sun, 21 Aug 2011 16:11:04 +0800</pubDate><description><![CDATA[MbUnit3.0较之2.0在数据驱动测试方面有很大的提高，下文尝试将数据驱动的测试运用于TDD。
问题：
在TDD的过程中，对于持久层数据的单元测试一直是一个很头大的问题，就数据逻辑本身，可能并不负责，但大量可读性较差的数据（几十条记录硬编码到代码中，想必测试代码的维护工作]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC 3 Validation - 正则表达式验证RegularExpressionAttribute之日期验证]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/6701186</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/6701186</guid><author>jackvs</author><pubDate>Fri, 19 Aug 2011 12:44:14 +0800</pubDate><description><![CDATA[ASP.NET MVC 3中，正则表达式的验证属性是RegularExpressionAttribute。
问题：
日期格式进行Server端和Client端的验证


解决方案(1)：
直接使用RegularExpressionAttribute，写正则表达式。]]></description><category></category></item><item><title><![CDATA[Javascript中文乱码问题]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/6698865</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/6698865</guid><author>jackvs</author><pubDate>Thu, 18 Aug 2011 16:43:16 +0800</pubDate><description><![CDATA[问题：
若网页的编码是UTF-8:

当javascript文件的编码是GB2312时，当用js输出中文文本时，则变为乱码。
解决方案(1):
在javascript输出端添加charset="gb2312":


解决方案(2):
将javascript文件的]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC - 文件上传]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/6697823</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/6697823</guid><author>jackvs</author><pubDate>Thu, 18 Aug 2011 12:45:11 +0800</pubDate><description><![CDATA[页面代码：

Files uploaded to server    

        
    @using (Html.BeginForm("UploadFile", "Home", FormMethod.Post, new { enctype = "multipart]]></description><category></category></item><item><title><![CDATA[ASP.NET MVC 3 Validation - 谨慎ValidationMessage的误触发]]></title><link>https://blog.youkuaiyun.com/jackvs/article/details/6693853</link><guid>https://blog.youkuaiyun.com/jackvs/article/details/6693853</guid><author>jackvs</author><pubDate>Wed, 17 Aug 2011 09:55:27 +0800</pubDate><description><![CDATA[使用Html.ValidationMessageFor即可扩展显示Error Message。
默认的表达格式如下：



validationMessage or defaultErrorMessage



需要注意的是，错误的验证是再ModelState去]]></description><category></category></item></channel></rss>