I have been using WIF for the last couple of years on a few of my projects and the STSTestCert gets a bit of a workout on my development machines. This certificate is only valid for 12 months. All the applications that use this test certificate will fail to execute authentication requests once this certificate has expired. Here is the easiest way to renew the certificate. Open up MMC and attach the Certificate Manager plugin for the local machine. Navigate to Certificates (Local Comput...
[More]
Tags: WIF
3e2f69a8-2b0a-4339-9ed1-82f2ea977a44|0|.0
Quite simply, a lot. The yield statement seems to be such a simple part of C# yet it can provide such amazing power (being delayed enumeration). Outside of that power however, it can provide beautiful simplicity. Take the following abstract class for example: namespace MyApplication.Diagnostics
{
using System;
using System.Collections.Generic;
public abstract class DiagnosticTask
{
public abstract IEnumerable<DiagnosticTaskResult> ExecuteAll();
...
[More]
Tags:
699e9456-256f-43a9-ae7b-d8348dbd9c3b|0|.0
I’ve been doing several TFS consulting gigs over the last couple of years. The one thing that keeps popping up is the requirement to build several types of platforms using TeamBuild/TFSBuild. My preference is to isolate build agents and their customisations. This means for example that I have a mix of build agents like the following: Standard (full VS install + any common additions - WiX for example) SharePoint BizTalk Tagging the build agents and configuring the build definitions fo...
[More]
Tags: TFS, WiX, TeamBuild
a5c9f098-084c-4a86-9d0f-13548a784332|0|.0
I’ve been working on some classes that write data to Azure table storage. These classes of course need to be tested. Unfortunately the development fabric only spins up when you F5 an Azure project. This is a little problematic when the execution is from a unit test framework. Some quick searching brought up this post which provides 99% of the answer. The only hiccup with this solution is that it is targeting the 1.0 version of the Azure SDK. I have updated this code to work with the 1.6 version...
[More]
Tags: Azure
0d4eb31e-62c7-4c38-bf6e-d1fc518ed9b9|0|.0
Running a load test in
Visual Studio is a great way to put your code under stress. The problem is that once you have identified that there is a potential performance issue, how do you then narrow it down to particular methods in your code base. Using a Performance Session is great for this. The problem is that
Visual Studio does not provide out of the box support for running a performance session against a load test. There is a reasonably easy workaround though. Any other profiling tool will also work using the...
[More]
Tags: Performance
f4b0ecce-82e9-44ed-97ba-142e1530c9d5|0|.0
It seems that I keep having to come up with a regular expression that validates and parses a version string. I often use this for customising TFS build workflows for extracting and using application version information. The AssemblyVersionAttribute appears to have the following rules: Major version is required Minor version is optional and will default to 0 if not specified Minor version cannot be * Build and Revision versions are optional and may be * Revision number cannot...
[More]
Tags: TFS
c2136492-06a9-4efc-ab4f-000d26b95cda|0|.0
How do you download the X509Certificate that secures a HTTPS channel? I want to do this for two reasons. Identify the reason for a trust failure Identify if the certificate is about to expire I ran all sorts of searches on the net about how to get the certificate of the remote host. Unfortunately the results were not quite what I was after. The answer is that the certificate is provided by HttpWebRequest.ServicePoint.Certificate. The tricky bit is that the certificate is only available...
[More]
Tags:
e93eaa33-9cbe-497c-ba40-2afd85a64113|0|.0
I have a pet peeve with how Action and TryAction style members are often implemented. Too often I see the following style of implementation. using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
public class SomeClass
{
public Stream GetSomething(String referenceData)
{
if (String.IsNullOrWhiteSpace(referenceData))
{
throw new InvalidOperationException();
}
return new MemoryStre...
[More]
Tags:
6994bd1f-b23f-4613-b222-4f1cb8c2cb04|1|5.0
It has taken a while, but I have been able to push out a new release of my Neovolve.Toolkit. The major focus of this release has been in the custom activity support for WF4. This version is now distributed via an MSI. This release of the Neovolve.Toolkit package targets .Net 4 and contains support for WF4 as well as fixes to the existing code base. It supports the Client Profile version of the .Net 4 framework on many of the assemblies for a smaller footprint. The package now supports a VSIX...
[More]
Tags: Unity
007df3ce-554b-4c63-80ae-38aa05c4b94b|0|.0
I recently battled the scary ExecutionEngineException. It’s scary because the exception itself does not provide any information about what has gone wrong and why. Figuring out why the exception is being thrown can get a little tricky. In my scenario,
Visual Studio was crashing when trying to display a
WF designer. After attaching another
Visual Studio instance to debug the crash, I found that the exception being thrown in the designer was ExecutionEngineException. The place it was being thrown was in an evaluati...
[More]
Tags: WF
7f696c32-f814-473c-b9f6-c80d80b82e07|0|.0