大型web系统构架图的理解
摘要:构架图如下: 我们从下往上就行分析: 1,对数据库的操作(提交数据):“应用服务器群”会向“数据库群”提交数据,也会从"数据库群"获取数据。当提交数据的时候,会把数据先提交给“异步队列”,然后定期把从“异步队列”提交到“数据库群”。 大型网站往往对应着海量数据,并且每时每刻都有大量数据提交。如果不用“异步队列”将提交数据分批处理,数据库会每时每刻都处于被提交状态。这样很可能不堪重负而死去。 2,对数据库的操作(查询数据):大家都知道缓存,这里的“分布式缓存服务器群”就是一个缓存,但它是一个有很多服务器连接起来的大型缓存,比如facebook有成千上万台服务器通过memcac
阅读全文
C#开发串口总结,并提炼串口辅助类到公用类库中
摘要:开发C#相关的项目有很多年了,一直没有接触串口的开发,近期由于工作的需要,需要了解熟悉对硬件串口的开发,通过对串口的深入了解,串口也不再是什么神秘的东西,利用SerailPort组件,对串口的各种操作也非常的方便,由于本人总是喜欢把一些常用的东西封装成可供重复利用的类库,因此,阅百家代码,提炼总结优化,把对串口的操作封装成一个公用的类库,应付日常的串口编程开发,也算是工作的一个阶段性总结吧。先上图,了解串口的一些基本的东西,并逐步介绍相关的知识。微软在 .NET FrameWork2.0中对串口通讯进行了封装,我们可以在.net2.0及以上版本开发时直接使用SerialPort类对串口进行读写
阅读全文
步步为营 SharePoint 开发学习笔记系列 一、简介
摘要:概要SharePoint 网站为文档、信息和想法提供了一个集中的存储和协作空间。SharePoint 网站是一种协作工具,就好像电话是一种通信工具,会议是一种决策工具一样。SharePoint 网站可帮助小组成员(无论是工作组还是社团)共享信息并协同工作。例如,SharePoint 网站可帮助您:协调项目、日历和日程安排。讨论想法、审阅文档或提案。共享信息并与他人保持联系。SharePoint 网站是动态和交互的 — 网站成员可以提出自己的想法和意见,也可以针对他人的想法和意见发表评论或建议。文档或声明的发布无需经历复杂的网站发布过程。MOSS2007 和 WSS 3.0区别MOSS2007:
阅读全文
SharePoint search 功能的定制开发
摘要:概要 客户要求改善 SharePoint 2007的搜索功能,我们要自定义开发搜索功能,一翻调查和研究,sharepoint 的搜索用到KeywordSearchQuery和FullTextSearchQuery 两种方式,因为我们要用到自定义的sharepoint list字段做为过虑条件,所以采用FullTextSearchQuery 来开发。设计FullTextSearchQuery 做sharepoint 2007二次开发要用到以下组件:view sourceprint?1using Microsoft.Office.Server; 2using Microsoft.Office.Se
阅读全文
sharepoint Lists Web service 用法
摘要:概述在sharepoint 项目中,后期做数据迁移时,会用到sharepoint的web service来完成把数据导入sharepoint站点的功能。web service 名称:http://[site]/_vti_bin/Lists.asmx我们用它来新增,修改或者删除当前站点特定list 的item操作。调用的方法:view sourceprint?1[SoapDocumentMethodAttribute("http://schemas.microsoft.com/sharepoint/soap/UpdateListItems", RequestNamespace
阅读全文
C#使用TCP/IP与ModBus进行通讯
摘要:1. ModBus的 Client/Server模型2. 数据包格式及MBAP header (MODBUS Application Protocol header)3. 大小端转换4. 事务标识和缓冲清理5. 示例代码0. MODBUS MESSAGING ON TCP/IP IMPLEMENTATION GUIDE 下载地址:http://www.modbus.org/docs/Modbus_Messaging_Implementation_Guide_V1_0b.pdf1. ModBus的 Client/Server模型 Client与Server之间有两种通讯方式:一种是TCP/IP,
阅读全文
浅谈委托、委托与事件、委托进化成lambda表达式和Linq
摘要:委托的重要性,在C#中是不言而喻的,理解起来也需反复琢磨,初学者可能觉得很难,但是迈过去这套槛后,也许就觉得容易了。本文结合自己的体会,将从委托、委托与事件、委托进化成lambda表达式,再到linq,浅谈自己的理解与体会,与大家交流交流,还望高手多多指点。真的很佩服微软这帮牛逼的人,一环套一环的设计,不知他们刚开始设计C#委托时是否就想到了未来将要产生的linq技术。 我们先从单纯的委托开始研究。MSDN上给委托定义为:委托是一种定义方法签名的类型。当实例化委托时,您可以将其实例与任何具有兼容签名的方法相关联。您可以通过委托实例调用方法。这三句话的意思表明了委托是一种类型,但是一种很特殊的类
阅读全文
winform如何上传图片到服务器
摘要:有BS网站一个,然后,我添加产品要通过winform来添加,可是,图片怎么上传到服务器指定目录呢?C#初学者,所以提的问题对各位前辈朋友来说可能很简单,也可能问法也不对,非常期待大家的回答……您好請參考 WebClient.UploadFile 方法 : 将本地文件上载到具有指定 URI 的资源。http://msdn.microsoft.com/zh-cn/library/bcfh1hw9(v=VS.80).aspx您好,winform上传图片到服务器,您可以根据不同的需求使用不同的方法,之前Stone和小欧的方法都可以,下面还有一些您可以参考一下:1、通过TextBox上传图片到服务器:h
阅读全文
单元测试之道C#版 [美]Andrew Hunt Davrd Thomas
摘要:单元测试之道C#版[美]Andrew Hunt Davrd Thomas 著 ,陈伟柱 陶文 译第1章 序言1. 自信的编码有一次——或许就是上个礼拜二——有两个开发者:Pat 和Dale。他们面临着相同的最后期限,而这一天也越来越近了。Pat 每天都在着急地编写代码,写完一个类又写一个类,写完一个函数又接着写另一个函数,还经常不得不停下来做一些调整,使得代码能够通过编译。Pat 一直保持着这种工作方式,直到最后期限的前一天。而这时已经是演示所有代码的时候了。Pat 运行了最上层的程序,但是一点输出也没有,什么都没有。这时只好用调试器来单步跟踪了。“Hmm,决不可能是这样的”,Pat 想,“此
阅读全文
SSO解决方案大全[Single Sign-On for everyone]
摘要:前段时间为我们的系统做SSO(单点登录)参考了很多资料,其中包括博客园二级域名的登录.翻译本文是由于作者的一句话:思想都是一样的,只不过实现起来需要创造性思维.Single Sign-On (SSO)是近来的热门话题. 很多和我交往的客户中都有不止一个运行在.Net框架中的Web应用程序或者若干子域名.而他们甚至希望在不同的域名中也可以只登陆一次就可以畅游所有站点.今天我们关注的是如何在各种不同的应用场景中实现 SSO. 我们由简到繁,逐一攻破.虚拟目录的主应用和子应用间实现SSO使用不同验证机制实现SSO (username mapping)同一域名中,子域名下的应用程序间实现SSO运行在不
阅读全文
反射、后期绑定与attribute
摘要:C#与NET实战 第七章 反射、后期绑定与attribute我们在2.2.2节曾讨论过元数据(metadata)以及它在程序集中的物理存储方式。本章将会看到它们是如何构成反射与attribute机制的基础的。7.1 反射反射机制代表了在执行期一个程序集的类型元数据的使用。通常情况下,该程序集是在另一个程序集执行的时候被显式载入的,不过它也可以被动态生成。反射这个词用于表明我们使用了一个程序集的映像(就像镜子中的映像)。该映像由程序集的类型元数据构成。我们有时候也会使用内省(introspection)这个术语来表示反射。7.1.1 何时需要反射我们收集了一些反射机制的使用分类,在本章接下来的小
阅读全文
visual studio 2005,visual studio 2008调出即时窗口
摘要:在调试时,即时窗口(Immediate Window)非常有用。在调试时,调出即时窗口visual studio 2005 :Ctrl+Alt+I 或则 Ctr+D,Ivisual studio 2008 : Ctrl+Alt+Ivisual studio 2003 : Ctrl+Alt+I假设你正在会议室里演示即时编译的程序。有什么最佳的方式来进行演示呢?你还在往代码窗口里输入代码?这样,你得依赖听众的想像力 ―― 他们在脑海中构造这个程序是怎样运行的。此外,你还得依赖他们相信你的代码真的像和你所说的一样运作。 或者你要不停的运行你的代码,这样程序的输出窗口会弹出,然后听众可以看到代码的实际
阅读全文
分享一个SQL优化经验
摘要:很长时间没有搞SQL了,最近又回归原始,有一个优化的经验和大家分享下。 看下面一个查询,这是查询学生数据的逻辑,逻辑比较有点乱,这个查询跑30分钟也不会出结果,一执行CPU立马100%,虽然是个虚似机,但也不至于这种查询也对付不了,肯定有优化的地方。SELECT*FROM学生表WITH(NOLOCK)WHERE(FromSysISNULLOR((FromSys<>'A'ANDFromSys<>'B'ANDFromSys<>'C')OR((FromSys='A'ORFromSys='B
阅读全文
《High Performance Web Sites》
摘要:今日大致浏览了一下《High Performance Web Sites》。本书的中文版是《高性能网站建设指南》。本书另有对其中个别问题深入探究的进阶篇《Even Faster Web Sites》,中译《高性能网站建设进阶指南》。作者介绍上面的豆瓣链接中有,就不再照搬过来了。这本书中给出了14条网站性能提升的原则,每个原则独立成章,配有示例。这些原则大多数都非常实用,适合站点架构师、前端工程师。其中对于前端工程师的意义更大一些。这次看的是原版。我对于Web开发较缺乏实践经验,加之看得匆忙,因此可能存在遗漏、表述不当之处,希望广大网友不吝指正。原则1 减少HTTP请求数 构造请求、等待响应需要
阅读全文
.NET实现之(自己动手写高内聚插件系统)
摘要:今天跟大家分享一下本人在“.NET简谈构件系统开发模式”一文中提到的软件架构设计思路的具体实现细节。大家看了我这篇文章后,总问我为什么要起个这么怪异的名字“构件”而不用“插件”。其实这个名字在我脑子漂浮了很久,一直找不到合适的场合用它。在一本书上是这样解释构件的:构件是可以更换的部件,并且这个部件是由一系列很小的部件组成,同样这些小的部件由更小的部件组成;我为什么要区分插 件与构件主要原因是这两个名字所表达的思想不同。插件是可插、可卸的过程,没有强调无限极的递归实现子插件的意思,所以本人将其区分开来;当然也可以将这 两种架构用同一名词描述,其实是大同小异了。下面我给大家带来怎么用这种设计思路来
阅读全文
到底什么是COOKIE?
摘要:角色模拟:1、服务器IIS(许老师) 2、客户机PC(我) 3、浏览器(小何同学,委屈了你了,当小三了)4、COOKIE文件(口香糖)备注:对于一个客户机和一个服务器而言,Cookie有且仅有一份。Cookie文件放在客户端的机器上。服务器通过Response.Cookies.Add()把Cookie文件传给客户端;通过Request.Cookies[""]去取得客户端传过来的Cookie文件。模拟操作:用户首次登录并使用记住密码,用户下次登录。流程如下:1、操作:首次登录,我打开浏览器,并初次请求登录页面,得到页面之后输入账号密码并勾选记住密码,点击登录;此时服务器将验证
阅读全文
企业微软技术领域能力分析
摘要:每位从事IT技术的人员一般都会关注在某一个特定的平台,这个平台能够提供你需要交付给客户项目或者产品的能力。我想市面上最主要的企业级应用平台主要有:公司主要语言框架或技术开发工具软件产品云产品微软C#/VB.net.Net FrameworkVisual Studio, BlendWindows, SQL Server, Office SharePoint, Dynamics, Exchange etc.Windows Azure SQL AzureOracleJavaJDK WeblogicJDeveloper Enterprise pack for Eclipse, etcOracle Da
阅读全文
.NET简谈——跨进高级编程门槛的必经之路
摘要:.NET简谈——跨进高级编程门槛的必经之路我们继续C#基础知识的学习,这篇文章对前面基础知识学习的朋友有着举足轻重的作用;为了延续基础知识学习的热情,我编写了这篇特殊的文章。本篇文章的中心是想借“.NET简谈反射(动态调用)”一文继续发挥下去,让朋友能一气呵成,到底反射能用在什么地方,究竟能起到多么高级的作用。下面我就拿具体的例子讲解,不废话了请随我来;1:必须具备的基础知识C#接口:要想用反射进行高深的使用,必须先具备接口方面的基础,只有用接口了才能是系统真真的活起来。参考.NET简谈接口一文;C#委托、事件:在动态调用的过程中,我们难免要进行一些数据的传递,这样的传递是要用接口进行传递,我
阅读全文
SharePoint search 功能的定制开发
摘要:概要 客户要求改善 SharePoint 2007的搜索功能,我们要自定义开发搜索功能,一翻调查和研究,sharepoint 的搜索用到KeywordSearchQuery和FullTextSearchQuery 两种方式,因为我们要用到自定义的sharepoint list字段做为过虑条件,所以采用FullTextSearchQuery 来开发。设计FullTextSearchQuery 做sharepoint 2007二次开发要用到以下组件:1usingMicrosoft.Office.Server;2usingMicrosoft.Office.Server.Search;3usingMi
阅读全文
.NET简谈反射(动态调用)
摘要:我们继续C#基础知识的学习,这篇文章主要要讲的是我们C#程序员迈向高级C#程序员的关键性的一步。有的朋友会说事实不是这样的,我不用反射就不能开发吗?当然可以,但是用与不用肯定是不一样的,任何复杂抽象的分层架构或者说是复杂的设计模式均是建立在这些基础之上的,比如我们要进行模块化、组件化开发,要严格的消除模块之间的耦合,要进行动态接口调用。这样的强大而灵活的系统开发,必须要用反射才行;任何技术都有它存在的价值和意义,只要我们把它用在合适的位置就能发挥出惊人的力量;能尽可能的减少我们编写的代码,更能是我们的代码便的清晰简洁;下面我们就来学习C#中的反射的概念以及怎么使用它,用它能为我们提供什么样的好
阅读全文