28 Oct 2008
Two bits of sexy news from PDC :)
VS2010 is being converted to a WPF based app (like the Expression tools), and will be taking advantage of a new extensibility model being included in .Net 4.0.
I can't wait to get hold of the CTPs! :D
22 Oct 2008
Developer Day 7
http://www.developerday.co.uk
17 Oct 2008
PDC Sessions
You can have a look at it here.
I'll definatley be at the WF ones, and probably the OSLO onces so came and say hi if you see me :)
16 Oct 2008
SSRS to Web Service
And the request to the Service replaces the text in the Dataset.
You then specify a nice request and response as with any message based WCF service:
namespace MyReports
{
[MessageContract(IsWrapped = true)]
public class DataRequest
{
[MessageBodyMember="A"]
private string _fieldA = string.Empty;
[MessageBodyMember="B"]
private string _fieldB = string.Empty;
[MessageBodyMember="C"]
private string _fieldC = string.Empty;
}
}
The response looks something like this:
namespace MyReports
{
[MessageContract]
public class DataReponse
{
[MessageBodyMember="Data"]
private data[] _data;
}
}
And the data object looks like this:
namespace MyReports
{
[DataContract]
public class Data
{
[DataMember(Name="First"]
private string _field1;
[DataMember(Name="Second"]
private string _field2;
[DataMember(Name="Third"]
private string _field3;
}
// Ctor, Getters and setters excluded
}
Voila you're done... Or are you?!?
I found quite a nasty gotcha in doing this. My request class was only being partially populated everytime I did a request. I checked the attributes on the service and classes, I used TCP Trace to make sure the values were actually crossing the wire (which they were), but still the request wasn't being populated properly.
I even asked my pal [insert favourite search engine here] but couldn't fnd anything on it. So I started playing around with the fields in the report and low 2 of the 6 request params were now being populated! What had changed? The ordering. After a few more trial and errors I found the problem. The parameters from the report have to be sent in alphabetic order, otherwise for some reason the request doesn't deserialise properly.
Looking for a new contract
I'll be free from the 1st December.
8 Oct 2008
Presentation and Code for "Going with the Workflow"
Enjoy :)
Cambridge and Workflow
Chris and Allister certinaley have managed to bag themselves with an excellent crowd and venue! We were given a very warm welcome by the group and were asked some very complex questions on our talks.
I did get one question which I could not answer which was this:
This was interesting as I thought you could, but the attendee thought you couldn't. So I've done a bit of searching and found we were both right! Before the final release WF did indeed use to throw an exception if you tried creating more than one instance of it in an AppDomain, but after the final release you can create as many instance in an AppDomain as you like. Here's a link with a bit more info on the matter, including when you'd want to have multiple instances running.
Overall I thought the session went well, the feedback from Southampton run really helped improve the session, and apart from a couple of hiccups in the second half it went really well. So I'd just like to thanks the guys in Cambridge for hosting us, and the members for making us feel really welcome.
I'll be posting code and slides up soon, so check back later :)
Oh, and don't forget to harrass Chris and Allister to host the Silverlight Assault Course up there :)
2 Oct 2008
Oren Eini at the DotNetDevNet
When: Monday 13th October 2008, doors open 6:00pm, meeting starts 6:30pm
Where: UWE (University of the West of England), Frenchay, Bristol (see FAQ for directions and a map) - Room 2q50 (in Q block)
What: "Producing Production Quality Software" and "Interaction based testing with Rhino Mocks"
Who: Oren Eini is the author of Rhino Mocks and a major contributor to Castle and NHibernate.
Why: Because Oren is in the UK for a couple of weeks and we've managed to nab him whilst he's here. This is a rare opportunity to listen to someone who can make a real difference to the success of your project.
How do I sign up for this meeting: Send an email to meetings at dotnetdevnet.com and quote your user name and the October Extra meeting.
"Producing Production Quality Software" Abstract:
Working software is no longer the only thing that we need to produce. We need to create a software system that has a chance of surviving in the cruel world of production system, outside the clean room and sterile environment of development and QA. Understanding bottlenecks in the system, preventing cascading failures and recovery strategies have ceased being the problems of the very high end players. With the cost of system downtime being measures in $$$/second, this is an area we have to consider all the way. In this talk we will cover how we can map common weaknesses in the system design, preemptively protect ourselves from them, and produce software systems that can withstand the real world hostile environment.
"Interaction based testing with Rhino Mocks" Abstract:
Beyond the simplest scenarios, all objects had collaborators that they work with. This flies in the face of testing objects in isolation. This is the problem that mock objects were created to solve. In this talk you will learn what mock objects are, how to utilize them and best practices on when / how to utilize them. Rhino Mocks is a mock objects framework for .Net whose core goals are to let the developer rely on the compiler work well with refactoring tools.
Bio:
Oren Eini is an independent consultant based in Israel, focusing on architecture and best practices that lead to quality software and zero friction development processes. He is the author of Rhino Mocks, the most popular mocking framework on the .Net platform as well as a member of other well known open source projects, chief among them are the Castle project and NHibernate.
Oren is an internationally known speaker, and the author of the soon to be published book: Building Domain Specific Languages with Boo.
Our Birthday Bash
So whats happening for our first birthday? We thought we'd try something a tad more interactive than a normal talk, something people could particpate in. Our very own Rich A (Mr Ready Steady Speak Remix 08!) and member Plamen Balkanski are going to do a session on Agile development, including the agile Planning Game!
Sign up and get more details on the following NxtGenUG page.
We're of course have Birthday Cake! :)