ASP.NET News from Blogger:
eXtensible mind
Total News: 194
Open the folder in the skydrive site using the browser (it would be under Shared menu on the left). The url will look something like: https://skydrive.live.com/?cid=529BD9445B66F60D&id=529BD9445B6...
Currently in the .NET world, most OSS projects are available via a NuGet package. Users have a very easy path towards *using* the project right away. But lets say they encounter some isssue (maybe a b...
In .NET singletons are typically implemented with a static variable that you control access to: public class SystemClock : IClock { private SystemClock() { } static SystemClock() { Instance = new Syst...
I talked before on the usefulness of having rich events published throughout your domain. In that blog post, I also showed a very simple implementation. I realized that there seems to be quite some in...
Ive shown in my previous post how interesting domain events can be mined using the Reactive Extensions for .NET. Now we need to raise those events when things happen to our domain. The typical way you...
Reactive Extensions (Rx) is one of the coolest additions to .NET ever. However, they have been largely ignored by the mainstream, in a significant part because (IMO) its seen as a UI technique, with s...
Someone asked me how to mock a dynamic object with Moq, which might be non-obvious. Given the following interface definition: public interface IProject { string Name { get; } dynamic Data { get; } } W...
Im spiking ideas on how to make my regular expressions easier to read and maintain for the dev who comes after me (that could be myself in 3 months, meaning I will surely have forgotten everything abo...
From the project home page: What Lightweight NuGet packages with reusable source code extending core .NET functionality, typically in self-contained source files added to your projects as internal cla...
From the documentation: How to contribute NETFx relies on the CodePlex mercurial fork/pull process for contributions. The explanation on how to contribute to NuGet applies roughly in its entirety to N...
In previous versions of the Web API, you could query your REST endpoints that exposed an IQueryable<T> server-side, kinda Linq to WCF as @gblock said. This was immensely useful and an importan...
There is an aging post by Christian on how to use the awesome Json.NET library as a default serializer for the new WCF Web Api. Rather than having two media type formatters (in the latest bits lingo),...
Given the many cross-cutting concerns you can cover using the new Web API pipeline, its not a bad idea to have a bunch of integration-style tests that cover the actual running service end to end...
Thread.SetData and AppDomain.SetData are sometimes quite useful, when you need to pass state out of band that is shared across an entire call stack in a thread or by an entire app domain. But these AP...
The new configuration model in the latest WCF Web APIs allows extending the service instantiation via what is called a resource factory. For Autofac, I wanted to support a per-request lifetime scope, ...
Every now and then, when trying to do something in MSBuild, I hit a roadblock (or maybe just some unintuitive feature) and Im left thinking gosh, now I have to create a custom MSBuild task for this on...
You probably know Im an advocate of a particular way of doing extension methods that I call the Extension Method Entry Point Pattern, which makes it easier to mock them. This technique, while very use...
I got this question a couple times already so Ill save keystrokes and post here. I dont like the Repository pattern too much either, especially since the advent of IQueryable and Linq, which make it m...
IE is not my default browser. But still some links have to be sent to it in order for the right thing to happen (i.e. Microsoft Lync invitations, Live Meeting, InfoPath forms, etc.). So far I had the ...
These instructions worked for me on two AT&T devices, 850/1900 WCDMA (the one that works in Argentina), model SGH-i987 to be precise. AT&T decided to cripple its ROM for the Galaxy Tab: it doe...
Using a simple find & replace with a regex in VS2010: This will match all public instance members that do not have the virtual keyword and make them virtual. (go one by one, as it will also match...
If you just go and use the VS Add Reference dialog to pick assemblies from the PublicAssemblies or PrivateAssemblies or the Visual Studio SDK installation folder, you will end up with references that ...
You probably know already that the Reactive Framework Extensions (Rx) is a new library on top of .NET 4.0 and Silverlight that allows developers to leverage the expressiveness and power of LINQ for .N...
I'm sad to say it, but it is true. It slows you down. But not everytime, and not for everything. So let's be more specific on the cases where it DOES slow you down noticeably: Cowboy or Duct Tape Pr...
The new VSIX projects contain a manifest that is by default opened with a designer. No matter how many times you specify that you want to open it with the XML editor by default, VS will continue to op...
Last time I announced Linq to Mocks, some said Moq didn't actually have anything to do with Linq. Despite the heavy usage of lambda expressions and expression trees, the ""q"" in Linq is for ""q...
Compile-time safety is always important, as it reduces the chances that a refactoring can break existing code that compiles successfully. This benefit took me previously to the path of using expressio...
So Microsoft just shipped Silverlight 3.0. Outstanding achievement in its own right for a company that takes multi-year cycles for pretty much every product, if you ask me. Silverlight is indeed a ver...
From the point of view of the user of the container, he doesn't have to do anything at all. He just creates classes as usual:
public class EditCustomersPresenter
{
public EditCustomersPresenter(...
If you follow my blog, you probably heard about Funq, and maybe you even watched the screencasts I did about it while developing it (yeah, I'm missing a bunch of new ones!).
When we started working ...
If you're doing any kind of WPF development, you probably read at least some of the links in this entry on WPF Patterns. One common theme across all variants of the ViewModel pattern is that it always...
There are few groups within Microsoft that are as open and so quick to deliver as patterns & practices. When you give them feedback or request features, chances are you'll see them implemented wit...
Objective of the method: determine whether the given EnvDTE code class contains the given GeneratedCodeAttribute: ""old"" foreach/if approach:private bool IsPresentationModel(CodeClass2 baseClass)...
(does that answer Jeremy's question too?)
...
Over the years doing TDD, I'm getting increasingly concerned about the value my test fixtures are bringing to the table in terms of documenting features and expected behavior. So far, I followed the t...
You know that using WebOperationContext.Current is BAD for making your service implementation testable, don't you? My friend Pablo Cibraro continued to evolve his ideas around decoupling your service ...
I've just released the latest version of Moq :)))) It's quite late on an intense week at Redmond, so I'm just going to paste the relevant portion of the changelog:Version 3.0 * Silverlight support!...
Last weekend, during the ALT.NET Seattle conference, I spoke for quite a while with Miguel de Icaza on the work we're doing with InSTEDD in the area of data synchronization. He was very excited, and w...
ILMerge is one of those little-known gems that are an absolute must-have once you know how to apply them effectively to scenarios you didn't even think about. Specifically, whenever you work on a mult...
The question of how to mock extension methods comes up frequently enough that I though I might give my opinion and solution to it (which does NOT include using TypeMock ;)). A first differentiator is ...
Even now that Atom 1.0 has been approved and official for some time, there's a feed every now and then that still uses Atom 0.3 (i.e. Google News! http://news.google.com/?ned=us&topic=w&output...
Over the past few days, I spent some time recording the experience of building a dependency injection container using test driven development. It was a cool experience for me, and I hope you find the ...
Now available at Funq Part VI- building a fast DI container with TDD Enjoy!
...
Now available at Funq Part VII- building a fast DI container with TDD Enjoy!
...
Now available at Funq Part VIII- building a fast DI container with TDD Enjoy!
...
I'm planning to record a series of screencasts which will serve as walk-throughs on how to apply TDD on a practical project consisting in building a full-featured and high-performance DI container whi...
The first screencast is up! I'll post higher resolution downloads later on.
Video: Funq Part I: Building a fast DI container with TDD
Enjoy!
...
Second screencast is up!
Video: Funq Part II: Building a fast DI container with TDD
Enjoy :)
...
Due to a bug in VS intellisense (go vote for it!), my otherwise nice approach to API evolution doesn't quite work as I expected. Basically, regardless of whether you flag your obsolete methods (extens...
API evolution is tough and versioning is a complex enough issue that deserves not one but several posts. So I will only focus on one specific kind of evolution and backwards compatibility: Source Comp...
View Other bloggers