Fork me on GitHub

2012年5月4日

摘要: 对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎样的语言来显示界面的内容。对于一个ASP.NET MVC应用来说,我们很容易通过URL路由来实现这样一个功能。[本文已经同步到《How ASP.NET MVC Works?》中]在具体介绍实现之前,我们通过一个简单的例子谈谈最终实现的效果。在通过ASP.NET MVC项目模板创建的空Web应用中,我们创建了如下一个HomeController,默认的Action方法Index用于呈现一个登录Vie 阅读全文
posted @ 2012-05-04 23:24 HackerVirus 阅读(299) 评论(0) 推荐(0)
摘要: 下载安装:http://aka.ms/samplebrowser本周发布了微软一站式示例代码浏览器 v5.1 更新,修复了示例代码浏览器无法在Windows 8 Consumer Preview上正常运行的问题。由于该更新牵涉到对示例代码浏览器应用程序重新codesign,如你先前已安装过浏览器,你需要先将其卸载,然后通过该链接重新安装。过去已下载的示例代码会保留,无需重新下载。如您有任何建议,欢迎联系微软一站式示例代码库团队:onecode@microsoft.com。我们会第一时间响应您的宝贵意见。----------------------一站式示例代码浏览器简介:http://www. 阅读全文
posted @ 2012-05-04 23:23 HackerVirus 阅读(169) 评论(0) 推荐(0)
摘要: 在面试的时候也经常遇到关于这个概念有很多误解,经常听到下面的说法1.两者的区别是值类型分配在堆栈上,引用类型分配在堆上 这句话不对,至少不准确2.值类型性能更好, 这句话要考虑情况先补充一些背景资料常见的值类型有:大部分原生类型,例如int float long 各种自己定义的结构体等等常见的引用类型有:string 各种Class 数组(包括int[]这种的)堆栈:在这里指的是执行堆栈堆:在这里指的是托管堆,就是LOH+G0+G1+G2让我们先来看看第一点:两者的区别是值类型分配在堆栈上,引用类型分配在堆上1.假设在一个方法里面有一个语句是 var obj = new object();.. 阅读全文
posted @ 2012-05-04 23:22 HackerVirus 阅读(200) 评论(0) 推荐(0)
摘要: 系列文章:负载均衡原理与实践详解 第一篇(重新整理)负载均衡原理与实践详解 第二篇(重新整理)负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础负载均衡原理与实践详解 第四篇 使用负载均衡器的服务器群负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解负载均衡原理与实践详解 第六篇 健康检查机制详解(上)负载均衡原理与实践详解 第七篇 健康检查机制详解(下)负载均衡原理与实践详解 第八篇 网络地址转换(上)负载均衡原理与实践详解 第八篇 网络地址转换(下)负载均衡原理与实践详解 第九篇 服务器负载均衡技术进阶-会话保持(上)负载均衡原理与实践详解 第十篇 服务器负载均衡技术 阅读全文
posted @ 2012-05-04 23:21 HackerVirus 阅读(1413) 评论(0) 推荐(0)
摘要: 我们不仅可以创建相应的模板来根据Model元数据控制种类型的数据在UI界面上的呈现方法,还可以通过一些扩展来控制Model元数据本身。在某些情况下通过这两者的结合往往可以解决很多特殊数据的呈现问题,我们接下来演示的实例就是典型的例子。[本文已经同步到《How ASP.NET MVC Works?》中]传统的ASP.NET具有一组重要的控件类型叫做列表控件(ListControl),它的子类包括DropDownList、ListBox、RadioButtonList和CheckBoxList等。对于ASP.NET MVC来说,我们可以通过HtmlHelper/HtmlHelper<TMod 阅读全文
posted @ 2012-05-04 09:31 HackerVirus 阅读(240) 评论(0) 推荐(0)
摘要: 简介 在传统的操作系统中,进程拥有独立的内存地址空间和一个用于控制的线程。但是,现在的情况更多的情况下要求在同一地址空间下拥有多个线程并发执行。因此线程被引入操作系统。为什么需要线程? 如果非要说是为什么需要线程,还不如说为什么需要进程中还有其它进程。这些进程中包含的其它迷你进程就是线程。 线程之所以说是迷你进程,是因为线程和进程有很多相似之处,比如线程和进程的状态都有运行,就绪,阻塞状态。这几种状态理解起来非常简单,当进程所需的资源没有到位时会是阻塞状态,当进程所需的资源到位时但CPU没有到位时是就绪状态,当进程既有所需的资源,又有CPU时,就为运行状态。 下面我们来看一个具体的例子: 就拿 阅读全文
posted @ 2012-05-04 09:28 HackerVirus 阅读(189) 评论(0) 推荐(0)

2012年5月3日

摘要: 引言-- 在初级篇中,我们介绍了如何利用基于ASP.NET MVC的Web程序中的Global文件来简单的重写路由。也介绍了它本身的局限性-依赖于路由信息中的键值对: 如果键值对中没有的值,我们无法将其利用凑出我们想要的URL表达式。 初级篇传送门:使用Global路由表定制URL 在进阶篇中,我们将介绍ASP.NET 路由相关类的基类-抽象类RouteBase,并演示如何通过继承它,让URL重写和优化变成Free Style。一,老板的需求 假设我们是手机销售网站的一名程序猿(承接初级篇),经过第一次的URL重写之后,我们的手机分类页面的URL的改变:http://www.xxx.... 阅读全文
posted @ 2012-05-03 21:27 HackerVirus 阅读(483) 评论(0) 推荐(0)
摘要: smark提供可靠、高性能的Socket Tcp组件数值压缩存储方法Varint 在编写网络通讯的时候我们经常需要把一些数据存储到byte[]中然后再发送出去,数值则是我们经常处理的数据成员。发越少的东西意味着使用更少的IO和带宽 ,所以对传输数据进行压缩也是件非常重要的事情。接下来提到的就是一种基于数字存储的方式在大多数情况下可以节省数值存储空间。 Varint 是一种紧凑的表示数字的方法。它用一个或多个字节来表示一个数字,值越小的数字使用越少的字节数。这能减少用来表示数字的字节数。比如对于 int32 类型的数字,一般需要 4 个 byte 来表示。但是采用 Varint,对于很小的 .. 阅读全文
posted @ 2012-05-03 21:27 HackerVirus 阅读(351) 评论(0) 推荐(0)
摘要: 主键自增创建表时将主键列设置为 INTEGER PRIMARY KEY , 例如:?1234CREATE TABLE [Test] ([Id] INTEGER PRIMARY KEY, [Name] NVARCHAR(20) NOT NULL);最后插入的行号查看最后插入的行号是用 last_insert_rowid() 函数, 与 SQL Server 的 @@Identity 类似,例如:?1234INSERT INTO [Test] (Name)VALUES ('Test')SELECT LAST_INSERT_ROWID()连接两个字符串将两个字符串连接起来用 || , 阅读全文
posted @ 2012-05-03 21:25 HackerVirus 阅读(272) 评论(0) 推荐(0)
摘要: AJAX可以进行数据的异步请求,但对于文件和跨域问题却束手无策。Jsonp可以进行跨域数据的异步请求,但同样不能使用于文件。<form>表单可以进行跨域数据和文件的上传,但却会使页面跳转。那么如何同时实现“异步”+“跨域”+“文件”+“返回值”这几个特性呢?方法如下:原理:将<form>表单通过一个iframe来submit,也就是将<form>的target属性设置为一个iframe的id,这样<form>的action URL就会在这个iframe中打开,那么服务器的返回数据也就会输出到iframe中了。最后再通过主页面也iframe之间的交 阅读全文
posted @ 2012-05-03 11:17 HackerVirus 阅读(415) 评论(0) 推荐(0)