Welcome to MSDN Blogs Sign in | Join | Help

January 2007 - Posts

Amplified Flooding Attacks

Today's article is about a classic flooding attack that relies on a receiver who isn't careful about where it sends responses. The whole article is about this next picture, so if you don't have images then you're going to miss out. The way that the attack

Queue Scalability

I'm building an always-on service that gets its messages from a front-end queue. How do I design this service to be scalable? There are two directions to go in when talking about scalability. There's scaling up, handling more messages while continuing

Using XML Serialization with WCF

How do I switch the serializer being used to process messages to the old XmlSerializer? WCF supports both the newer data contract style of message description as well as the older XmlSerializer style of message description used by ASP.NET. The recommended
Posted by Nicholas Allen | 3 Comments
Filed under: , ,

Disabling Security Timestamps

I'm using the WSHttp binding for message security with a non-WCF system. The other system doesn't have a complete security implementation, and in particular it doesn't know how to process message timestamps. How can I disable verification of the security
Posted by Nicholas Allen | 2 Comments
Filed under: , ,

Errors Without Context

I don't know how many people use the code I post, but I frequently stumble across peculiar or interesting behavior while trying to get the snippets working. If the behavior relates to the topic I'm trying to explain, then it goes in the article. If the
Posted by Nicholas Allen | 1 Comments
Filed under: ,

Modifying HTTP Error Codes, Part 2

Let's pick up where we left off last time with the question… How do I modify the HTTP status code that gets sent back with a fault? It's clear that we need to plug into the fault generation process somehow, but in past articles we've only seen fault handling
Posted by Nicholas Allen | 2 Comments
Filed under: , , , ,

Modifying HTTP Error Codes, Part 1

Back to errors and faults for a bit with this two part series on modifying the HTTP status code used for fault messages. First, we'll need some background. What happens at the HTTP level when a web service encounters a problem? That's a good question
Posted by Nicholas Allen | 2 Comments
Filed under: , , , ,

Keeping Traces Up to Date

I've enabled tracing in my application, but I don't see entries in the trace log show up until I restart IIS. How can I get trace entries to appear right away? Like many other output files, traces are buffered to reduce the number of times that the disk
Posted by Nicholas Allen | 2 Comments
Filed under: , ,

Are Your Message Headers Still Unsecure?

Due to some server problems, the MSDN RSS and Atom feeds weren't getting updated Thursday or Friday. If your reader can't find the posts on securing custom message headers, then here are some direct links that you can use. Securing Custom Headers, Version

Securing Custom Headers, Version 2

Last time we were looking at the problem of securing a dynamically generated message header . We saw one solution to that problem, which was to add a behavior that updated the protection level for the desired message part. That solution is quite simple

Securing Custom Headers, Version 1

I'm securing messages using SOAP security but I also have some message headers that are generated dynamically at runtime. How do I protect the generated message headers as well? If you've used SOAP security, then you've probably done it by decorating

Faking Channel Security

I occasionally see people asking how they can fake the security capabilities of a binding. These questions often start off with "I'm getting an error message that a message's required protection level is not being met". Now, I'm not precisely sure why

Restarting a Failed Service

I have an application hosted inside a Windows service that needs to be continuously running. Occasionally the application service host will fail and I have to restart the service. How can I automatically restart a failed service host? You may not find
Posted by Nicholas Allen | 4 Comments
Filed under: , ,

Customizing a Metadata Resolver

I'm trying to use a metadata resolver but the metadata endpoint requires a custom binding. How do I override the binding used by MetadataResolver? The overloads on MetadataResolver are pretty strange, but you can pick any of the ones that take an instance
Posted by Nicholas Allen | 2 Comments
Filed under: , ,

Replacing an Existing ASMX Service with WCF

I have an existing ASMX service that I'm replacing with a WCF service. The replacement service works, but some of the clients point to a page with a service.asmx address. IIS gives me an error if I name my WCF service service.asmx. How do I get this to
Posted by Nicholas Allen | 6 Comments
Filed under: , ,

Serialization of Client Calls

I'm making multiple calls to a service and all of the other calls sit waiting until the first call completes. How do I make the service process multiple calls at the same time? If a service doesn't accept multiple, simultaneous calls from your client,

MSMQ: Net vs Integration

Why are there two MSMQ bindings? This is an easy question to answer: there are two bindings for MSMQ because they do different things. Go ahead and take a look at each of the bindings. The NetMsmqBinding looks like a normal binding with an MSMQ transport,
Posted by Nicholas Allen | 4 Comments
Filed under: , , ,

Manual Addressing

How can a client application control the To address of an outgoing message? I don't want to create a new proxy for every connection. This is one of those topics that I could have sworn that I wrote about but can't find any evidence of it online. Actually,

Hosting on Machines with Multiple Addresses

I have a machine with multiple network cards. How do I control which networks my service listens on? The answer to this question is going to be specific to the transport that you're using. I'll cover the HTTP and TCP transports that WCF ships with. Talking
Posted by Nicholas Allen | 4 Comments
Filed under: , , , ,

Designing New Faults

The last piece of this eleven part series on fault messages covers advice for channel authors that need to define their own set of faults. Everything here assumes that you're writing a protocol channel, that you have interesting failure cases that need

Faults and HTTP

I left HTTP error codes out of yesterday's post on zen faults because they're representative of a distinct class of out-of-band fault messages. Out-of-band faults map fault information to a transport-specific mechanism that carries the data outside of
Posted by Nicholas Allen | 2 Comments
Filed under: , , ,

Zen Faults

I've been talking about fault messages for a while now, specifically the kind that are sent around as the body contents of a SOAP message. However, some of the most important faults are reported without sending a message at all. In that case, we have
Posted by Nicholas Allen | 3 Comments
Filed under: , ,

2006 Year in Review

I started this blog back in February hoping to produce a daily post throughout the entire month. I had about twenty topic ideas ready and I had no idea what I was going to do when those ran out. The long-term goal was to reach 100,000 visitors a month
 
Page view tracker