Nicholas Allen's Indigo Blog

Windows Communication Foundation From the Inside

Browse by Tags

Tagged Content List
  • Blog Post: Debugging a Missing HostedTransportConfiguration Type

    When browsing to a service hosted in IIS I get an error that the protocol does not have an implementation of HostedTransportConfiguration type registered. What can cause this? Two things to look at are the IIS site bindings and the installed activation services. All of these examples use net.tcp...
  • Blog Post: Network Tracing Betas

    Two frequently used network diagnostic tools have gotten beta updates this week. Network Monitor is an adapter level capture program that can record and analyze protocol traces. If you join the Connect beta program for Network Monitor 3 you can get access to the latest Network Monitor 3.4 beta release...
  • Blog Post: Debugging Delegation and Kerberos Configuration

    I came across an interesting tool the other day that can be used to debug and diagnose configuration problems with Kerberos. DelegConfig is an ASP.NET application that you install to generate a troubleshooting report about your IIS configuration, Kerberos credential usage, and delegation settings. You...
  • Blog Post: Exploring Managed Applications

    The new version of Process Explorer that was released this week has some features for exploring managed applications that I hadn't seen before. If you right-click a process that has a CLR loaded and select Properties from the menu, then you'll see two tabs called .Net Assemblies and .Net Performance...
  • Blog Post: Comparing Two Bindings

    Too often I have to compare two bindings to find the subtle difference between a configuration that works and a configuration that doesn't. This is quite a painful task as a channel stack can be generated on the fly based on different settings, there are dozens of configuration options (for security...
  • Blog Post: Debugging with Reflector

    I saw that a new version of Reflector came out the other day along with a new Reflector Pro add-in for Visual Studio that allows you to use the generated source for debugging. Being able to debug against a decompiled source file was the feature I asked for the very first time I saw Reflector demonstrated...
  • Blog Post: Fix to Generate Contract Code for Dates

    Here's a bonus entry left from last week. Last week I ran a series covering fixes for WCF that may be hard to find and explaining the details behind each problem. Contract code generation takes a system-independent description of the types used for a messaging operation and generates source code...
  • Blog Post: Fix to Allow an Encoder Fallback with UTF8

    This week I'll be running a series covering fixes for WCF that may be hard to find and explaining the details behind each problem. Encoding is the process of transforming a set of characters into a sequence of bytes. An encoder fallback is an error-handling mechanism invoked when a character can...
  • Blog Post: Fix for Partially Trusted Clients using Windows Authentication

    This week I'll be running a series covering fixes for WCF that may be hard to find and explaining the details behind each problem. Connection sharing is a performance optimization to pool HTTP connections between multiple calls. Ordinarily, connections are not allowed to be shared if they use Windows...
  • Blog Post: Fix for Exception Reading Typed Headers

    This week I'll be running a series covering fixes for WCF that may be hard to find and explaining the details behind each problem. The dispatch operation formatter is the component that deserializes a message into objects. When building the objects out of the message headers in the message, the implementation...
  • Blog Post: Debugging References with Graph Visualizations

    Chris Lovett has a nice video demonstrating how to debug managed memory leaks by visualizing the runtime object reference graph produced by the gcroot debugger command. The graph visualization may help you spot cycles or other unexpected references that are causing the memory leak faster than reading...
  • Blog Post: Fix for HTTP Startup Hang

    WCF uses the http.sys kernel-mode http driver on most platforms to receive HTTP messages. The kernel-mode driver allows different services to share the same port for HTTP communication and, when running in IIS, allows messages to be received while the service is dormant. The http.sys driver is configured...
  • Blog Post: Fix for Gradual Debugger Slowdown

    Visual Studio 2008 added a feature to automatically attach to a service in your solution when the code you're debugging makes a request to that service. By automatically attaching to the service you're able to stop on breakpoints in the service code without having to explicitly step into the other project...
  • Blog Post: Debugging with Framework Source

    How do I debug calls that go through WCF? The easiest way to get started debugging through the framework is to enable source server support in Visual Studio. Source server support allows you to start debugging and have Visual Studio automatically download source code for the framework that you step...
  • Blog Post: Fix for Error Accessing Remote Endpoint Address

    The Windows networking team has released a fix for accessing the remote endpoint address of a socket that may affect WCF users. When an asynchronous call is made to a thread working with the socket, and the thread exits before the asynchronous call is processed, the wrong remote endpoint address might...
  • Blog Post: Fix for Slow IO Thread Startup

    The CLR team has recently released a fix for slow startup of asynchronous IO threads that may affect WCF users. After startup, asynchronous IO threads are created at a slow pace to avoid spikes in the number of threads. Having extra idle threads consume system resources needlessly. Having too few available...
  • Blog Post: Using TCP Analyzer to Debug TCP Performance

    Microsoft Research has a Network Monitor 3.3 plugin called TCP Analyzer that helps identify performance problems from a captured TCP session. TCP Analyzer takes a Network Monitor trace and performs visualization and analysis of the TCP connection. The analysis tries to identify what factor is most limiting...
  • Blog Post: Platform Changes in 4.0: Debugging

    Another change in .Net 4.0 (together with Visual Studio 2010) is an easier debugging experience for investigating production issues in managed applications. One of the frequent challenges of investigating production issues is the need to do the investigation against an offline memory dump rather than...
  • Blog Post: Tripping over Missing Servers

    A common complaint is that the first call on a client object takes some disproportionately large amount of time, usually ten seconds or more, while successive calls are instantaneous. There are many reasons why this might happen so there's no generic resolution for this problem. Sometimes it is caused...
  • Blog Post: Levels of Tracing, Part 6

    The last article in the levels of tracing series covers the logging of messages at the transport level. Transport level logging generally occurs in the message encoder as that is where the message bytes are actually processed but in some rare cases there are times when the transport sends messages without...
  • Blog Post: Levels of Tracing, Part 5

    Last time I talked about the four switches that control which types of messages get logged: logEntireMessage: whether to log message bodies or just the headers of each message logMalformedMessages: whether to log the message when there is a decoding error, such as in a message encoder or serializer...
  • Blog Post: Levels of Tracing, Part 4

    Today's article continues the series on tracing and message logging with a look at the different message logging configuration options. Introduction to tracing and trace levels Configuration tracing and trace options Enabling message logging The options I showed yesterday for message...
  • Blog Post: Levels of Tracing, Part 3

    Although often associated with event tracing, message logging is actually a separate facility from the standard levels of tracing. Message logging is not enabled by default just like event tracing is not enabled by default. You activate message logging by adding a trace source and listener to the configuration...
  • Blog Post: Advanced Debugging for Network Development

    Two new screencast videos on Channel 9 come from the Windows Protocol team demonstrating Network Monitor and other debugging tools. The videos are of sessions at an event for Windows protocol licensees a few weeks ago so the intended audience is primarily developers trying to build interoperable protocol...
  • Blog Post: Levels of Tracing, Part 2

    Continuing from last time where I talked about the different levels of tracing, today covers how to configure trace sources for a particular level and when each trace level should be used. A simple configuration for tracing combines a trace source with an inline specification of some trace listeners...
Page 1 of 3 (51 items) 123