Welcome to Bryan Corazza Sign in | Join | Help

I've been stuck a few times over the last few years when using a VPC and running out of HD space.  The solution at the time was always create a new HD and start filling that up.  This tool solves this problem.  Check it out here.

Also check out these article for organizing and optimizing your VPCs.

 

HOWTO: Use Virtual PC's Differencing Disks to your Advantage

How to use virtual PC and still save lots of room: differencing disks

Get the latest BIZUNIT bits here on CodePlex.  I'm  going to start playing with these ASAP.

The patterns and practices team at Microsoft has just released their latest CTP build of Ent Lib 3.0.  Get it here.  Here's Tom Hollander's blog post about it. 

I just saw this post from a fellow Avanadian and thought it was interesting to people who want to use Vista to see if its for them or not.  Here's the link.

It took me about one hour with the help of sysinternals (FileMon and RegMon) to figure this one out.  After I was done I found this article by Scott Hanselman.  Thanks Scott.  I hope you find this before wasting an hour on it.  After the install went through I am extremely happy with my Office 2007.  It rocks.

Not sure if I ever came out and said it before but yes, I too work at Avanade.  Avanade has relatively recently started a blog CS site so employees can go on there and post random thoughts on tech and personal stuff.  Now remember that Avanade is not responsible for what people post to it and all that legal stuff.  Just thought I'd come out and plug my wonderful employer.  Blogs are at here.  Maybe I will be cross posting soon.  Who knows.  And if you don't know who or what Avanade is you better.

 

 

Technorati tags:

Please MS I'm begging please let me use multi-message parts in my message.  Unless I'm missing something very obvious I'm not sure why the WSE adapter would only be able to handle one message part messages.  The SOAP adapter is very good at handling this.  It is needed for interoperability with java-based web services or handling complex types like dealing with SAP BAPI exposed as Web Services.  I'm guessing that they are sending so much time and money on the new R2 bits and the WCF adapters that this issue is not going to be fixed soon.  MS is fully aware of the issue and hopefully they come out with a fix.  There's is also a WSE 3.0 adapter on the market from two-connect that can be purchased here.  I've seen demos of this adapter and it rocks in my opinion.   

 

-B 

And these days who isn't.  Well one the latest features of IE 7 is the ability to add a custom search provider into IE.  I thought it would be a great idea if I linked up my search provider to a BizTalk syndication feed from here.  This syndication was put together by Stephen Thomas of BizTalkgurus.com.  So all you have to do is:

 

Click on the drop down of the search button and select Find More Providers...

 

Then fillout the following on the page by using the following link here and pasting it into the URL field and name it and you're done.

Nothing like having all the BizTalk content into the world to be at your fingertips.  Enjoy.

So finally Microsoft has added this feature to its latest Office offering (2007).  The free add-on can be downloaded here.  I am not a fan of Adobe so this is a great move in my opinion.  Adobe's free PDF reader application is very close to spyware once you see what it installs and how many times it pings adobe when you fire it up.  Thank you MS.

Have you attempted to consume a web service just to see this message in return?  It turns out that ASP.NET by default permits web requests 4096kb or smaller to be sent up to a web server, which is a good thing.  To pass through anything larger than that you must follow these simple steps:

  • locate either the web.config or machine.config depending on how large you want the scope of the change. (machine.config obviously overriding the default on the entire machine.)
  • change the maxRequestLength parameter like so
  • <httpRuntime>maxRequestLength ="8192"</httpRuntime>

section of your config file to something in larger than 4096kb.

As you might have guessed it I work on a lot in the XML namespace of .NET and I'm finally starting to use some of the new XmlReader features.  This post will go over some of them here.  And remember a wise man once said that everything can be solved with one more layer of abstraction.  These new features are nothing more than an encapsulation of code that the major of us have written thousands of times before but its all about productivity.  Why just today I was at a meeting going over some change requests and noticed that n new features were being added and schedule and budget remained constant.  :)

.ReadToFollowing(string)  This method will forwards the cursor and returns a true once the conditions of the XmlNodeType.Element and Name equals your parameter.  This is very useful for crawling through large files where you only require a small amount of data from.

.ReadToNextSibling(string)  This method is great for splitting out smaller Xml messages that are inside of a larger schema since it will return true once the next sequential sibling is matched.  Example is here:

do{

//do your stuff...

}while(reader.ReadToNextSibling("foo"));

I use this one often in doing my own disassembly in helper classes.

.ReadSubTree() This method actually returns a XmlReader with limited scope of the subtree.  It does this by the use of an internal class called the XmlSubTreeReader which basically uses a reader to .MoveToElement() until the initial depth of that subtree has been met.  This saves me heaps of time instead of my usual mess of climbing down into each subtree manually.  I've always thought that writing code that read Xml was never elegant since Xml is so flexible.  Something had to give.

.ReadElementContentAsXxx() Now there are a bunch of these methods one for each type (doubles, int32s, strings, etc.)  and they are great because we no longer have to cast the value out of the XmlReader.  Each different method has an underlying class that specifically handles extracting the contents out of a Node with casting which can be expensive.

.Create() This is probably my favorite one.  So how many times have we called XmlReader reader = new XmlReader();?  Well now the Xml team has taken a lesson from the Enterprise Library folks in giving us a Factory Pattern for creating new instances of an XmlReader.  XmlReader reader = XmlReader.Create() several overloads exist for this.  So much easier than before.  Love the factory pattern.

Now this is just a small amount of what changed in the XML namespace in 2.0.  Overall performance has improved 20-30% on average (especially with compile XSLT).  These are also were BizTalk 2006 has picked up most of its performance gains over its predecessors.  Also its worth reading this by Aaron Skonnard on the new features of XML 2.0.

I was doing what I typically do in my very small amount of down time I was reading my blog feeds from some of my favorite bloggers.  One blog that I read religiously is Brian Button.  I've had the pleasure to take part (a small one) in a C# design patterns group in NYC where on occasion Brian chimes in with some great advise and knowledge.  I particularly liked this article about 'Eating Toast' and thought it was a great post.  Read here

By now every developer out there should be using Reflector.  Reflector is written by Lutz Roeder and its a utility that leverages reflection to disassemble a particular assembly and show you what the inside looks like.  I've come up with several great ideas for solutions after looking at how something was designed in the .NET Framework.  Now while this program is awesome it never really worked well in the BizTalk world for things like pipelines, maps, schemas, etc. so Gilles Zunino from MS has put together this add-on for Reflector.  Get it here.  I've used this tool for the past two weeks and I love it.  I'm a firm believer that unless you REALLY understand the technology your working on, you really cannot help others understand it as well.  This tool is great for seeing how your orchestrations and artifacts look like as compiled .NET code.  Happy disassembling.

So I've been using Windows Live Writer for about a week now and I ran into a glaring bug when using Live Writer on multiple computers to post to a central blog.  A collegue of mine told me about a typo I had on my last post and so I fired up Live Writer and wanted to download the previous posts from my blog.  You do this you go to File..Open Post.. and you'll see the following selection on the left pane of the window:

So I select my blog which results in downloading the various post from your blog using the webservices api provided by your blogging software.  So I open what I thought was the post that I wanted to edit and a totally different post popped up instead.  What!?  So I figured out that locally Live Writer is caching the posts and somehow the unique blog post identifier got out of sync (since I was attemping to edit the post from a different computer than the one I original used for posting the entry).  So I had to go back to my laptop to actually make the edit happen which took roughly threee minutes.  Ugh.

Another collegue of mine has posted his feedback on Windows Live Writer here.  While its a great beta tool it still has a ways to go.  Keep it up Microsoft. 

Recently I ran into an issue with the SOAP adapter giving me the error 'Failed to Serialize the Message Part 'Foo'' ever so often.  If I sent 20k messages through I was maybe getting about 100 messages suspended for this error.  Now I spend about an hour looking at the messages that failed and I realized the problem really had 'nothing' to do with BizTalk and it was a serialization issue.  I basically took the messages that failed and attempted to de-serialize them using a utility in .NET which is what the SOAP adapter is doing once the message is sent there.  Needless to say I was getting the same message but this time I could see what field was causing the issue.  It was a datetime type and it was blank.

So if your receiving this message please try to de-serialize the into a .NET type and see if you're getting the same error.  There is something either missing or wrong about the data in your message.  I just wish that the error message returning from BizTalk was a little more helpful here, like explaining what field is having the problem.  Unfortunately I think that's a .NET issue and not a BizTalk one.

[Updated 11/16/2006]

I'd also look at namespaces for typos.  This issue can be tricky to debug so sometimes I save the message locally and try to use Web Service Studio 2.0 which is one of my favorite Web Services tools.  Download it here.   Enjoy.

More Posts Next page »