Welcome to MSDN Blogs Sign in | Join | Help

August 2006 - Posts

Secure MEX Endpoints

In the previous articles about MEX endpoints , I always used the MetadataExchangeBindings class to create the binding for the MEX endpoint. Is it possible to use other bindings with your MEX endpoints? For example, some people want to secure their metadata
Posted by Nicholas Allen | 1 Comments
Filed under: , ,

Configuring an Operation to Impersonate

Today's post is a supplement for those people annoyed that Using Impersonation with Transport Security doesn't actually explain how to use impersonation. Most of the questions that I've seen for this topic come from people that already know how Windows

Using Composite Duplex

The CompositeDuplex channel is one of the two shape-changing channels that we've included in the product for V1 (the other shape-changing channel is the OneWay channel that I've talked about in passing). CompositeDuplex is actually a concept rather than
Posted by Nicholas Allen | 4 Comments
Filed under: ,

Cancelling Streams

A frequently asked question I see is whether it's possible to cancel a streamed operation. The simple answer is that gracefully shutting down a streamed operation requires some work and planning at design time. It's always possible to rudely shut down

Why is the RequestContext Null?

Today's post somehow ended up getting bumped to Sunday. All is well now. Sorry for the late start. In the request/reply model, the RequestContext object is the link between the request that comes in and the reply that goes out. When the server receives

WCF and WF Webcasts in September

During the month of September, there is going to be a series of webcasts targeting financial services developers. It looks like a few of the talks in the series would be of interest to distributed application developers. I'm assuming that all of the talks
Posted by Nicholas Allen | 0 Comments
Filed under: ,

An Unanticipated Addendum for Certain MEX Scenarios

I wrote the article on MEX endpoints about a month ago after someone asked the question on one of our internal mailing lists. I wrote the NetTcp Port Sharing sample about a month ago as well. Late at night I needed to test that the MEX endpoint code compiled

Manually Adding MEX Endpoints

One of the changes in a recent version was that MEX endpoints no longer get added to your service host by default. Instead, you either need to supply the ServiceMetadataBehavior or supply the ServiceMetadataBehavior and manually add your favorite type
Posted by Nicholas Allen | 5 Comments
Filed under: , , ,

ReplyMangler Channel

To finish up the series on one-way HTTP requests , I promised to supply a custom channel that fixes the scenario of using the POX message encoder together with one-way requests. This is primarily a code post since most of the interesting discussion is

Making One-Way HTTP Requests, Part 3

We've been looking at the mystery of why one-way messages stop working when you turn on the POX message encoder . The clues to solving this mystery are that: The service does not change its behavior at all when the message encoder is changed. The failure
Posted by Nicholas Allen | 3 Comments
Filed under: , , ,

Making One-Way HTTP Requests, Part 2

The article yesterday left off by stating that while the test program works fine with the messaging defaults, things break when we switch to the POX message encoder. Today and tomorrow, we'll look at what goes wrong, why, and how to fix it. To switch
Posted by Nicholas Allen | 6 Comments
Filed under: , ,

Making One-Way HTTP Requests, Part 1

I promised yesterday that we would start using the HttpListener test program to look at some HTTP requests. I'm going to start by creating a fictional IPing service and a simple custom binding over HTTP. The test listener from yesterday was very basic
Posted by Nicholas Allen | 7 Comments
Filed under: , ,

Using HTTP in System.Net

I think that the HttpWebRequest class for making HTTP requests in System.Net is fairly well understood but not that many people seem to make use of the HttpListener class for receiving requests. I use HttpListener when I need to see what WCF is doing
Posted by Nicholas Allen | 3 Comments
Filed under: , ,

Introducing CommunicationState

It's hard to believe that I introduced the ICommunicationObject state machine six months ago but never got around to talking about the CommunicationState enumeration that actually describes the states. Let's fix that today. I'll specifically talk about

My Blogging Dirty Dozen

One of the problems with spending so much time writing is that I now rarely have enough time to dedicate to reading. A few months ago I tried as an experiment to strictly limit the number of blogs that I was subscribed to. The list changes month-by-month
Posted by Nicholas Allen | 3 Comments
Filed under:

More Binding Polymorphism

Last week I wrote about a generic method for getting the reader quotas from a binding . binding.GetProperty<XmlDictionaryReaderQuotas>(parameters); This looks fine and it works for reading the quota values, but it doesn't work if you try to set
Posted by Nicholas Allen | 2 Comments
Filed under: , ,

Net.Tcp Port Sharing Sample, Part 3

I'm presenting a small sample I wrote to demonstrate the port sharing feature. The third part is the test client and example usage. I'm looking for feedback to help make the sample better. Right now, the sample configures the endpoints in code rather
Posted by Nicholas Allen | 3 Comments
Filed under: , ,

Net.Tcp Port Sharing Sample, Part 2

I'm presenting a small sample I wrote to demonstrate the port sharing feature. The second part is the server application. I'm looking for feedback to help make the sample better. Right now, the sample configures the endpoints in code rather than configuration
Posted by Nicholas Allen | 3 Comments
Filed under: , ,

Net.Tcp Port Sharing Sample, Part 1

For the next few days I'm going to present a small sample I wrote to demonstrate the port sharing feature. The first part presents background information about the feature. I'm looking for feedback to help make the sample better. Right now, the sample
Posted by Nicholas Allen | 5 Comments
Filed under: , ,

Binding Polymorphism

A few days ago, Avner Kashtan asked why the design-time elements of the channel stack don't have a common object hierarchy for configuration settings (thereby making it difficult to change settings without knowing what transport you're using). The answer
Posted by Nicholas Allen | 8 Comments
Filed under: , ,

Introducing MessageState

I've mentioned that messages have a definite lifecycle without ever mentioning what the lifecycle represents. The MessageState enumeration reflects the different stages that a message goes through. public enum MessageState { Created = 0, Read = 1, Written
Posted by Nicholas Allen | 3 Comments
Filed under: ,

A Moment of Silence

Today I spent some time reflecting on the proliferation of crummy date formats in network protocols. The particular plague was the HTTP/1.1 specification, which includes not one but two date formats that are obsolete yet required to be supported. There's
Posted by Nicholas Allen | 0 Comments
Filed under: ,

Advanced Encryption Standard

The last cipher I'm going to talk about is the Advanced Encryption Standard (AES). With this, we'll have covered about half of the important algorithms needed for a transport security implementation, such as SSL. AES started out as a contest to replace
 
Page view tracker