“圣殿骑士”技术博客,书写自己对技术的理解。天道酬勤、坚持不懈!
圣殿骑士很荣幸入住博客园和51CTO写技术博客,目前主要在一家外资企业从事项目管理、技术架构及企业技术培训工作。由于工作和项目需要,所以对一些技术进行了较为深入的研究,之前在整个公司做过一些技术专场的培训,由于每次时间较短且人员较多的关系,没能讲得很透彻,所以挺对不住那些同事的。现在在园子里开一个博客,希望能把所学的微薄知识书写出来,以供大家参考。近期将针对这些培训专场推出“OO到设计模式”、“WCF基础到企业应用”、“WPF基础到企业应用及优化”、“Silverlight基础到企业应用及优化”、“Windows
Azure基础到企业应用”等系列博文,由于是自己对这些技术的使用总结和心得体会,错误之处在所难免,所以希望大家能够多多指点,这样也能纠正我的错误观点,以便和各位共同提高!
-
WPF 基础到企业应用系列索引 (注:正在不断完善中......)
-
云计算之旅系列
- 云计算之旅1—开篇有益
- 云计算之旅2—云计算总览
- 云计算之旅3—云计算提供商综合对比
- 云计算之旅4—Amazon云计算
- 云计算之旅5—Google云计算
- 云计算之旅6—SalesForce云计算
- 云计算之旅9—Windows Azure总览
-
云计算之旅5—实战第一个云程序
- 云计算之旅11—剖析Windows Azure程序内部原理
- 云计算之旅12—ASP.NET Web Role
- 云计算之旅13—ASP.NET MVC Web Role
- 云计算之旅14—WCF Service Web Role
- 云计算之旅15—Work Role
- 云计算之旅16—CGI Web Role
- 云计算之旅17—云存储之Blob
- 云计算之旅18—云存储之Table
- 云计算之旅19—云存储之Quee
- 云计算之旅20—云存储之Dive
- 云计算之旅21—SQL Azure 一(基本)
- 云计算之旅21—SQL Azure 二(RDBMS支持)
- 云计算之旅21—SQL Azure 三(安全和工具)
- 云计算之旅22— AppFabric 一(总览)
- 云计算之旅23— AppFabric 二(Service Bus)
- 云计算之旅24— AppFabric 三(Access Control Service)
- 云计算之旅25— 云平台安全问题
- 云计算之旅26—老技术兼容问题(如MSMQ、SSB等)
- 云计算之旅27— ASP.NET+SQL项目移植到云平台
- 云计算之旅28— WinForm/WPF项目移植到云平台(云/端模式)
- 云计算之旅29— ASP.NET+Silverlight项目移植到云平台
- 云计算之旅30— 云计算开发总结
-
基于.NET构建大型应用 (注:有时间就写......)
-
31 天重构学习笔记索引
-
OO到设计模式系列
-
Silverlight基础到企业应用及优化
-
WCF基础到企业应用
-
1. SOA架构介绍(什么是SOA、SOA的4个特性)
- 2. WCF简要介绍(什么是WCF、.Net Framework的四大体系架构、WCF体系框架)
- 3. WCF契约, 绑定, 宿主, 异常处理, 异步调用, 双向通讯
- 4. MTOM, 流数据传输, 序列化, 实例模型, 会话状态
-
5. 并发, 限流, 事务, 安全, 可靠性消息, 消息队列
- 6. WCF创建REST, AJAX调用WCF
- 7. Remoting、Web Service、WSE、MSMQ实例比较
-
MSIL&CLR
-
一些未归类的文章
-
(收藏)《博客园精华集》分类索引
(注:这个系列不是原创,感谢整理者和作者,收集只是便于学习)
<style><!--
<!
<!<!<!<!<!<!
#containerul
{
padding-right: 0px;
padding-left: 0px;
padding-bottom: 1px;
margin: 0px;
padding-top: 1px;
text-align: left;
}
#containerul UL
{
padding-right: 0px;
padding-left: 0px;
padding-bottom: 1px;
margin: 0px;
padding-top: 1px;
text-align: left;
}
#containerul LI
{
padding-right: 0px;
padding-left: 0px;
padding-bottom: 1px;
margin: 0px 0px 0px 10px;
padding-top: 1px;
list-style-type: none;
}
#containerul .symbols
{
background-position: 0px 70%;
float: left;
width: 20px;
background-repeat: no-repeat;
height: 1em;
cursor:pointer;
cursor: hand;
}
>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
> .style1
{
color: #FF3300;
font-weight: bold;
}
>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
>
--></style>
<script type="text/javascript">// <![CDATA[
var temp, temp2, cookieArray, cookieArray2, cookieCount;
function initiate() {
cookieCount = 0;
if (document.cookie) {
cookieArray = document.cookie.split(";");
cookieArray2 = new Array();
for (i in cookieArray) {
cookieArray2[cookieArray[i].split("=")[0].replace(/ /g, "")] = cookieArray[i].split("=")[1].replace(/ /g, "");
}
}
cookieArray = (document.cookie.indexOf("state=") >= 0) ? cookieArray2["state"].split(",") : new Array();
temp = document.getElementById("containerul");
objli = temp.getElementsByTagName("li");
for (var o = 0; o < objli.length; o++) {
if (objli[o].getElementsByTagName("ul").length > 0) {
temp2 = document.createElement("span");
temp2.className = "symbols";
temp2.style.backgroundImage = (cookieArray.length > 0) ? ((cookieArray[cookieCount] == "true") ? "url(http://pic002.cnblogs.com/img/zenghongliang/201007/2010071313433750.gif)" : "url(http://pic002.cnblogs.com/img/zenghongliang/201007/2010071313431847.gif)") : "url(http://pic002.cnblogs.com/img/zenghongliang/201007/2010071313431847.gif)";
temp2.onclick = function() {
showhide(this.parentNode);
writeCookie();
}
objli[o].insertBefore(temp2, objli[o].firstChild)
objli[o].getElementsByTagName("ul")[0].style.display = "none";
if (cookieArray[cookieCount] == "true") {
showhide(objli[o]);
}
cookieCount++;
}
else {
temp2 = document.createElement("span");
temp2.className = "symbols";
temp2.style.backgroundImage = "url(http://pic002.cnblogs.com/img/zenghongliang/201007/2010071313434893.gif)";
objli[o].insertBefore(temp2, objli[o].firstChild);
}
}
}
function showhide(el) {
el.getElementsByTagName("ul")[0].style.display = (el.getElementsByTagName("ul")[0].style.display == "block") ? "none" : "block";
el.getElementsByTagName("span")[0].style.backgroundImage = (el.getElementsByTagName("ul")[0].style.display == "block") ? "url(http://pic002.cnblogs.com/img/zenghongliang/201007/2010071313433750.gif)" : "url(http://pic002.cnblogs.com/img/zenghongliang/201007/2010071313431847.gif)";
}
function writeCookie() {
cookieArray = new Array()
objli = temp.getElementsByTagName("li");
for (var q = 0; q < objli.length; q++) {
if (objli[q].childNodes.length > 0) {
if (objli[q].childNodes[0].nodeName == "SPAN" && objli[q].getElementsByTagName("ul").length > 0) {
cookieArray[cookieArray.length] = (objli[q].getElementsByTagName("ul")[0].style.display == "block");
}
}
}
document.cookie = "state=" + cookieArray.join(",") + ";expires=" + new Date(new Date().getTime() + 365 * 24 * 60 * 60 * 1000).toGMTString();
}
// ]]></script><script type="text/javascript">// <![CDATA[
initiate();
// ]]></script>
<script type="text/javascript">// <![CDATA[
if ($ != jQuery) {
$ = jQuery.noConflict();
}
// ]]></script>
<script type="text/javascript"></script><script type="text/javascript">// <![CDATA[
var c_enable_dfp = true;
if (navigator.userAgent.indexOf("Chrome/6.0.401.1") > 0) {
c_enable_dfp = false;
}
if (c_enable_dfp) {
try {
GS_googleAddAdSenseService("ca-pub-4210569241504288");
GS_googleEnableAllServices();
}
catch (e) { }
}
// ]]></script><script type="text/javascript">// <![CDATA[
if (c_enable_dfp) {
try {
GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_blogpost_body");
GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_commentbox_up");
GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_blogpost_bottom");
GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_blogpost_bottom1");
}
catch (e) { }
}
// ]]></script><script type="text/javascript">// <![CDATA[
if (c_enable_dfp) {
try {
GA_googleFetchAds();
} catch (e) { }
}
// ]]></script><script type="text/javascript">// <![CDATA[
var blog_ad_has_shown = false;
var cb_c_u_id = '2ef316b0-1cf5-dd11-9e4d-001cf0cd104b';
var cb_blog_uid = '1953360b-63cf-dd11-9e4d-001cf0cd104b';
// ]]></script><script type="text/javascript">// <![CDATA[
GetFollowAction();
// ]]></script>
分享到:
相关推荐
圣殿骑士的WPF培训资料;包括示例代码,用了N种办法才下载到的,目的是和大家共同分享;
圣殿骑士
集成腾讯bugly自动更新的demo,以及和后台配合的自己自动更新的逻辑
中文apiunity3d圣殿手册,中文api
圣殿祭司的 ASP.NET 3.5 专家技术手册 (《圣殿祭司的ASP.NET2.0使用C#/VB》 的下册) 包含目录和章节试读
《圣殿祭司的ASP.NET2.0开发详解——使用C#》光盘说明 一、光盘用途 本光盘为《圣殿祭司的ASP.NET2.0开发详解——使用C#》一书的配套光盘,供读者阅读图书时参考和学习。 二、光盘内容 1.书中所有范例的程序...
圣殿祭司的ASP.NET 4.0专家技术手册_随书附赠光盘
本文档是圣殿祭司的ASP.NET 2.0开发详解c# 书中例子代码,想要的同学可以下载
根据圣殿骑士《博客园精华集》分类索引下载整理
圣殿祭司的ASP.NET 2.0开发详解 使用C# 文件已按章节分割,共22
圣殿祭司的ASP.NET 2.0开发详解
圣殿祭司的ASP.NET2.0开发详解——使用C#
圣殿祭司的ASP.NET+2.0开发详解+使用C#\圣殿祭司的ASP.NET 2.0开发详解 使用C#.part09.rar
圣殿祭司的ASP.NET 2.0开发详解 使用C#共分割为22章
本文档圣殿祭司的ASP.NET 2.0开发详解c# 5,需要请下载
本文档是圣殿祭司的ASP.NET 2.0开发详解c# 3-4,需要请下载
范例程序,注意不含数据库
【ckook的书了,广告太烦,体积太大(440M),处理了下,方便大家:)】《圣殿祭司的ASP.NET 4.0专家技术手册》共分17章,全面阐述了ASP.NET 4.0的具体应用。主要内容包括:ASP.NET 4.0技术概述、ASP.NET程序的编译...
圣殿祭司配书盘 asp.net2.0开发详解 示范案例以及示范数据库
ASP成都圣殿装饰公司网站源码,前后台完整!栏目包含:关于我们、家装流程、设计案例、设计团队、特价活动、在建工地、委托设计、留言本等功能。后台地址:admin用户名和密码:admin注:请使用IE浏览器或兼容模式...