April 2003 - Posts
Well we all knew it was coming shortly since the release
of Windows 20003 Server and now it's finally here: SDK
or Redist.
Here's
a nice article everyone should read about SxS execution. Also, make sure to
read up on all the changes since 1.0 here.
There's a new
article up over on The O'Reilly Network entitled
"Managing ASP.NET Navigation". In it the author, Mike Gunderloy
, covers various methods for
controlling the flow between ASP.NET pages. Definitely worth a quick read. I've
seen some people coming from the old school ASP/IIS4.0 world still using
Response.Redirect in situations when they should really be using a
Server.Transfer.
It looks like there might be a bug in SharpReader where it never closes the HTTP connections. I did
a netstat just now and noticed a bunch of "ESTABLISHED" connections to various servers via
the HTTP
port. As I looked at the DNS for the connections, I recognized some of them
as blogs I frequent. So, I re-ran netstat with the -o
option and sure enough, the PID was that of SharpReader. I guess maybe this explains why it's
so fast at refreshing, but I'm sure the owners of those servers don't appreciate the connection
being left open.
NOTE: As I finished writing this post (a couple minutes
after starting) all the connections are still ESTABLISHED and there's no current activity in
SharpReader.
There's a new
MSDN TV episode up today. This episode covers two
currently undocumented features of the ASP.NET web service architecture: SoapExtensionReflector
and SoapExtensionImporter.
These are two really cool little facets of the architecture
that enable some great little advantages which Matt does a good job explaining
in a short amount of time.
As I discussed
earlier today, IMHO the coolest aspect of how the ASP.NET web service
architecture works is it's use of all the metadata features of
the CLR to provide as much plumbing as it does for you. Having so much metadata
available to us in the CLR brings to life a completely new type of programming
paradigm which ASP.NET happens to leverage quite well.
Just got my May
Issue of MSDN magizine in the mail today and it
contains some great articles that I wanted to make sure people check
out.
NOTE: some
articles are not available online yet, I will update links as they become
available.
The first article I wanted to point out, written
by Dino Esposito, covers the XmlReader,
XmlWriter
and
subclasses thereof. It is perhaps the best coverage I have seen to date of
these classes and how to use them efficiently and effectively. I find too many
people today are still trying to hand roll their XML. Why? Just use an
XmlWriter! Your code will be clearer, cleaner and you won't be asking questions
like this
one
.
:)
The next article
to check out, written by Michael Weinhardt and Chris Sells, is one that I
think will be very useful to control developers out there. It's the second part
of a series (part
one here
) on building components and WinForms controls with rich design-time
support. It starts with some coverage of one of the most important design
time concepts: the TypeConverter. The next design-time architecture hook
focused on is UITypeEditor. Finally, the article is wrapped up with
coverage of the very cool ControlDesigner.
The last article I feel needs pointing out, written by Tim Ewald, covers how
ASP.NET based web services support SOAP
headers. Personally, I love the architecutre for web services that ASP.NET
provides and it's handling of SOAP headers happens to be one of my favorite
aspects. It's a really cool approach that uses reflection, attributes and
XmlSerialization to map the header elements into a .NET type that is a field of
the WebService
instance. Anyway, Tim covers exactly
how you would go about supporting custom headers, but he brings up
a great point about
handling mandatory unknown headers:
"I'm willing to bet that the vast majority of ASP.NET Web Services that have
been written and deployed to date do not explicitly check for unknown mandatory
headers."
So am I and while it's not likely to be a show-stopper for most people,
it can result in huge problems. Tim gives a
simple scenario to illustrate this point and then provides the source code for
a custom SoapExtension
which checks that the web method being called supports all mandatory headers
passed by the client. Great piece of code! I remember being really surprised
when I couldn't find a built-in attribute that told the ASP.NET web service
plumbing to do this for me. To close out the article, Tim touches on WSE
and how to write the same sort of mandatory header verifier using a SoapInputFilter
as opposed to a SoapExtension.
Our first RSS feeds are now live...
[Time Ewald: Pushing the Envelope]
Woah, nice! Ask and ye shall receieve, eh? :)
<observation type="general">
Microsoft is slowly, but surely learning to
listen to its developer community. I have a feeling this is due mainly to some
of the newer additions to the MS family (in this specific case Tim obviously),
but I've noticed it in lots of different ways over the
years.
</observation>
More Posts
« Previous page