Welcome to MSDN Blogs Sign in | Join | Help

April 2007 - Posts

Orcas Beta 1 Released

The first full public beta of the .NET Framework 3.5 came out Friday night. Here are the downloads to get: Microsoft Pre-Release Software Microsoft .NET Framework 3.5 – Beta 1 Visual Studio Codename "Orcas" Beta 1 Readme Here are the known issues with
Posted by Nicholas Allen | 2 Comments
Filed under: ,

A Bit More on Call Context Initializers

In the last article on call context initializers , the sample program included three bindings to try out. All the program did was trace the thread ID being used for a particular call when the service method was invoked or when the call context initializer
Posted by Nicholas Allen | 1 Comments
Filed under:

Custom Channel Development

I'll be giving another talk on channel development for WCF this year at TechEd. Due to the selection of sessions, there's really only one good lead-in talk and it's currently scheduled for later in the week. That means that I'll be spending more time

Ownership of HTTP Connections

Why are all of the TCP sockets for my HTTP application owned by PID 4? The "-o" option of netstat tells you the process ID associated with each of the network connections. If you look at the process owner for an HTTP client application, then you should
Posted by Nicholas Allen | 3 Comments
Filed under: , ,

Socket Failures

What is the lifetime of a TCP session? The lifetime of the session object from a TCP transport channel lasts exactly as long as you own the underlying TCP connection. Once you give up ownership of the TCP connection, either by saying that you're done

ICallContextInitializer Example

Here's the promised sample demonstrating how to set up a call context initializer. The basics really are quite basic so there isn't much to explain in terms of the ICallContextInitializer or the service behavior. I've created a web service with a single
Posted by Nicholas Allen | 2 Comments
Filed under:

Hokie Hope Day

Among other memorial events, Virginia Governor Kaine will be leading a moment of silence and prayer service starting at Noon EDT. Here in Washington, a coordinated minute of silence and tolling of bells is taking place at 9 AM PDT.
Posted by Nicholas Allen | 0 Comments
Filed under:

Initializing the Context

Today's article is about a little-known extensibility point that runs shortly before and after a service invocation takes place. The call context initializer allows you to control the state of the thread that will be used for the service call. public
Posted by Nicholas Allen | 2 Comments
Filed under:

Silverlight

Earlier this week, Microsoft announced the Silverlight product name. Silverlight is a micro-framework for developing client web applications, in particular web media applications. A micro-framework is a platform that trades off having a comprehensive
Posted by Nicholas Allen | 0 Comments
Filed under:

Throttling Sessions

How do I push back against clients that are tying up the external connections of my service? The amount of service connection resources used by the client can be thought of as a product of two dimensions. The first dimension is the number of connections

Moving Services and User Principals

A user principal name is used as an identifier for accounts on a Windows domain. The user principal name has two parts, the user account name and the domain name. The typical way of writing a user principal name looks a lot like a standard email address,
Posted by Nicholas Allen | 1 Comments
Filed under: ,

Just a Bit of Caching

Does WCF ever cache the DNS lookup for a service address? How do I clear this cache? There is just a tiny amount of caching that I know about. The TCP and MSMQ transports use a shared cache for recently used addresses. I think for MSMQ that this is only
Posted by Nicholas Allen | 1 Comments
Filed under: , ,

Starting a Hosted Service

How do I run some code during service start time if I'm using an IIS hosted service? In a normal executable or NT service, your code is responsible for creating the ServiceHost that contains the web services. In IIS, it is the platform activation code
Posted by Nicholas Allen | 2 Comments
Filed under: , ,

Interfaces for GetProperty, Part 2

I've done a bit of grouping for the remaining binding elements as there are fourteen non-transport binding elements that I'm covering in this list. I've pointed out the ones that respond to a type with GetProperty on the base class as opposed to repeating

Interfaces for GetProperty, Part 1

This is more of a reference than anything else. People have asked me what interfaces do something when used with GetProperty on a binding element. Of course, a custom implementation can do whatever it wishes in its GetProperty, so I can only tell you

What a Binary Encoding Means

There has always been some confusion about what it means to use a "binary encoding" with your web service. The word encoding is used in a very specific sense here, which should also help you figure out the implications of choosing an encoder in the future.
Posted by Nicholas Allen | 1 Comments
Filed under: , ,

An Indigo Hued Update

I launched a new site design over the weekend. Use the contact form to report any issues. Here are the problems that I know about so far: Wide code snippets no longer have scrollbars to let you see the whole thing.
Posted by Nicholas Allen | 0 Comments
Filed under:

Counting Down to TechEd 2007

A year later, and it's already time to say again that TechEd 2007 is in Orlando from June 4th to 8th, just eight weeks away now. Eight weeks away also means that the time for early registration is almost gone, so register now if you want to take advantage
Posted by Nicholas Allen | 0 Comments
Filed under:

Messaging is not a Transaction

What happens to the messages being transmitted and any unprocessed messages when I call Abort? Do those messages get delivered or do they get discarded? Once you call Abort, the state of any of the network resources involved becomes undefined. What happens
Posted by Nicholas Allen | 1 Comments
Filed under: , ,

Optional Interfaces on Binding Elements

In the past I've talked a lot about the absolute minimum you need to do to write a working channel. However, what about the people that want all of the optional bells and whistles that can go along with channel development? There are several interfaces

Choosing a Message Size for Buffered Copies

Creating a copy of a message requires passing the "maximum buffer size" to CreateBufferedCopy. How big should I make this maximum buffer size? In most cases, you can use Int.MaxValue and not worry about the buffer size. Specifying this buffer size is
Posted by Nicholas Allen | 1 Comments
Filed under: , ,

Enabling Kerberos in IIS

How do I enable Kerberos authentication for my web service? Kerberos is a very good authentication protocol to use when you're joined to a Windows domain. It is intended to work through simple configuration, but using Kerberos for network authentication
 
Page view tracker