Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

Introducing Parallel Extensions to the .NET Framework
There is no escaping from concurrency challenges... or is there? (A slightly modified version of this article was published in the August 2008 edition of the MSDN Flash newsletter ) Dual, quad, and eight-core processors are becoming the norm. Is your Read More...
ADO.NET Data Services: CLR-based data models and navigation links
As you are probably aware, one of the new additions to the .NET Framework 3.5 SP1 is a technology called ADO.NET Data Services (code name Astoria). ADO.NET Data Services natively supports ADO.NET Entity Framework (EF) models. However Data Services it Read More...
.NET debugging made easier
Not sure about you but I was not aware of the existence of the DebuggerStepThroughAttribute . Debugging code can be difficult at times and any tool or mechanism that can ease this pain is always welcome. As far as the CLR is concerned, there is no semantic Read More...
WebChannelFactory inside a WCF Service
When using a WebChannelFactory inside a WCF service that already has an OperationContext, you may need to create a new context before being able to successfully callout using a channel created by the WebChannelFactory. (Notice the line in bold ) public Read More...
Coordination Data Structures – WriteOnce<T>
This is an article in a series of blog entries describing a set of new Coordination Data Structures (CDS) introduced in the June 2008 CTP of the Parallel Extensions for .NET Framework . In C#, when a field declaration includes a readonly modifier, assignments Read More...
Coordination Data Structures – SpinLock
This is an article in a series of blog entries describing a set of new Coordination Data Structures (CDS) introduced in the June 2008 CTP of the Parallel Extensions for .NET Framework . Waiting on locks usually result in a thread context switch and associated Read More...
Coordination Data Structures – LazyInit<T>
This is an article in a series of blog entries describing a set of new Coordination Data Structures (CDS) introduced in the June 2008 CTP of the Parallel Extensions for .NET Framework . LazyInit<T> provides support for several common patterns of Read More...
How to consume REST services with WCF
As you are probably aware by now, Windows Communication Foundation (WCF) 3.5 introduced a new binding called WebHttpBinding to create and to consume REST based services. If you are new to the WCF Web Programming model then see here for more details. There Read More...
More on self-replicating tasks
Some more stuff to remember when dealing with self-replicating tasks. (See my earlier post for an introduction to Parallel FX and self-replicating tasks): - Self-replicating tasks should have an inter-replica communication mechanism for communicating Read More...
WCF error handling and some best practices
I put together the following brief description of WCF Error Handling and some possible best practices for a customer. You may also find it useful: There are 4 sets of errors that clients can expect: Invalid configuration : when bindings, behaviors or Read More...
From Exceptions to Faults
A question that I often get asked during workshops on WCF is “Why does WCF use Faults instead of .NET Exceptions?” Exceptions expose a set of limitations and possible security risks: - They are platform/technology specific: .NET exceptions may have no Read More...
Digging deeper into PLINQ’s internal implementation
PLINQ is built on top of the Task Parallel Library (TPL) and promises to revolutionise the way we write programs that can benefit from the multi-core processor era. But how does it work internally? This article assumes that you are familiar with the basics Read More...
How to cancel a task in Parallel FX?
Task Parallel Library (TPL) allows you to easily cancel tasks. Effectively you need to call the Cancel method on the task in question. Imagine the simple sample below: Task task1 = Task .Create(Foo, 10000); static void Foo( object o) { for ( int i = 0; Read More...
Which memory model?
In his blog , Eric Eilebrecht explains why when writing multithreaded applications today we should stick to the weak ECMA memory model instead of CLR’s much stronger memory model. In principal, I have no issue with using a weaker model than the CLR memory Read More...
CLR 2.0 memory model
Memory is usually a shared resource on multithreaded systems therefore access to it must be regulated and fully specified. This specification is often called a “Memory Model”. Optimisations performed by compilers and the emergence of multi-core processors Read More...
More Posts Next page »
Page view tracker