新建Rest服务接口: 复制代码 代码如下: [ServiceContract] public interface IService1 { [OperationContract] string GetData(int value); } 接着新建一个服务实现类: 复制代码 代码如下: public class Service1 : ISe...
有时候会碰到一些需要设置开始日期和结束日期的需求,比如有很多商品,每件商品都有开始出售日期和结束出售日期的字段。如何使用DatePicker控件来满足这些需求呢,下文将做解答:...
一个属性或方法可以同时被abstract 和override 修饰吗?我的一个同事这样问我。我最初的反应是:当然不可以,但是事实上证明的确是可以一起修饰的。 对于这个问题,我认真的思考了下...
新建SL4 应用程序,在MainPage下添加代码: Button x:Name=btnThread1 Click=btnThread1_ClickThread1/Button 后台代码为: 复制代码 代码如下: private void btnThread1_Click(object sender, RoutedEventArgs e) { new Thread(...
1:新建Silverlight4 应用程序,名称为SLStudy。建好后如下: 2:在SLStudy下新建Silverlight用户控件,Print1.xaml作为要打印的控件。 在Print1.xaml里面添加代码为: 复制代码 代码如下: Grid x:Name=La...
经常看到同事写代码: bool? obj=从服务器返回来的值,可能为null。 复制代码 代码如下: if(obj !=null Convert.ToBoolean(obj)==true) { //Do something } 上面的代码的意图很明显,先判断obj 是不是null,...
线程安全的一个很经常的需求是允许并发读,但是不允许并发写,例如对于文件就是这样的。 ReaderWriterLockSlim 在.net framework 3.5的时候就提供了,它是用来代替以前的fat版本的ReaderWrite...
在上篇文章中我们使用了Wait和Pulse 实现了Countdown 接下来我们可以使用刚刚写的Countdown 类来实现两个线程的交会。 复制代码 代码如下: class Rendezvous { static object _locker = new object(); stati...
双向信号和竞赛(Two-Way Signaling and Races) Monitor.Pulse方法的一个重要特性是它是异步执行的,这意味着调用pulse方法并不会阻塞自己等待Monitor.Pulse返回。如果任何一个线程在pulsed 对象上等...
你可能在上篇文章中《深入多线程之:双向信号与竞赛的用法分析》注意到了这个模式:两个Waiting 循环都要下面的构造: 复制代码 代码如下: lock(_locker) { while(!_flag) Monitor.Wait(_locker); _...