摘要:
以实例说话,一起体验MEF带来的可扩展性吧,Let’s Rock!!! 1:新建控制台程序SimpleCalculator 在这里要实现的程序时SimpleCalculator,顾名思义:简单的计算器。 所以我们需要定义一个用来计算的接口: public interface ICalculator { String Calculate(String input); } Program 的代码如下: class Program { private CompositionCo... 阅读全文
摘要:
命名空间别名: 如果你的类的名称恰巧和别人一样,但是两个类的命名空间不一样,那么该如何处理呢? namespace CompanyA.AssemblyA { public class Console { public static void DoA() { //just do nothing } } } namespace CompanyB.AssemblyB { public ... 阅读全文
摘要:
在Ftp上传上,有人上传了高清图片,每张图片大约2M。 如果使用传统的BitmapImage类,然后绑定 Source 属性的方法,有些电脑在首次会比较卡,一张电脑10秒,4张大约会卡40秒。 所以我先异步的下载图片,得到downloadFileStream对象,然后绑定到BitmapImage类上。例如: System.Windows.Controls.Image photo = new Image { Width = 100, Height = 100, ... 阅读全文
该文被密码保护。 阅读全文
摘要:
RegisterPrefix 方法将 WebRequest 子代注册到服务请求。 WebRequest 后代通常被注册来处理特定的协议(例如 HTTP 或 FTP),但也可能被注册来处理对特定服务器或服务器上的路径的请求。 已注册的预注册保留类型包括下列类型: http:// https:// ftp:// file:// msdn的解释是:将WebRequest子代注册到服务请求,很短,很抽象,不够白话,如果你一开始就理解这句... 阅读全文
摘要:
1:Http上传 http上传就是通过http协议来向服务器上传文件,所以服务器端应该有一个处理客户端请求的页面。 添加一个FileUploadHandler.ashx的文件来处理客户端请求。代码如下: /// <summary>/// FileUploadHandler 的摘要说明/// </summary>public class FileUploadHandler : IHttpHandler{ private const string UPLOAD_RESOURCES_FOLDER_NAME = "UploadResources"; publ 阅读全文
摘要:
先看一段同步代码: publicint SumPageSizes(IList<Uri> uris) { int total = 0; foreach (var uri in uris) { statusText.Text = string.Format("Found {0} bytes ...", total); var data = newWebClient().DownloadData(uri); total += data.Length; ... 阅读全文
摘要:
如果有几个Uri,需要获取这些Uri的所有内容的长度之和,你会如何做? 很简单,使用WebClient一个一个的获取uri的内容长度,进行累加。 也就是说如果有5个Uri,请求的时间分别是:1s 2s 3s 4s 5s. 那么需要的时间是:1+2+3+4+5=(6*5)/2=15. 如果采用并行计算的话,结果可能是这样: 总时间长度是5s. 为了演示效果,需要下面3个页面: 其中SlowPage 的Page_load代码如下: protected void Page_Load(object sender, EventArgs e){ ... 阅读全文
摘要:
以前曾见过有人这样写代码: public class Service1 : IService1 { private SqlConnection conn = new SqlConnection(); public void Method1() { //do something with conn; } public void Method2() { //do something with conn; } public void... 阅读全文
摘要:
以前写的多线程系列,现在加上索引: 深入浅出多线程 深入浅出多线程系列之一:简单的Thread 深入浅出多线程系列之二:关于Thread的那些事 深入浅出多线程系列之三:线程池 深入浅出多线程系列之四:简单的同步 lock 深入浅出多线程系列之五:一些同步构造(上篇) 深入浅出多线程系列之五:一些同步构造(下篇) 深入浅出多线程系列之六:事件驱动异步模式(EAP,WebClient,BackgroundWorker) 深入浅出多线程系列之七:4种定时器 深入浅出多线程系列之八:内存栅栏和volatile 关键字 ... 阅读全文