Nicholas Allen's Indigo Blog

Windows Communication Foundation From the Inside

Browse by Tags

Tagged Content List
  • Blog Post: Schema Errors Extending Configuration

    After adding a custom binding element to configuration as a binding element extension, Visual Studio reports any use of the binding element in app.config as a schema violation. Is something wrong with the binding element? No, as long as the binding is able to be instantiated when you run the service...
  • Blog Post: Fix for Generating Metadata Behind a Router

    When generating metadata to describe a service, an address is published for the location at which the service can be reached. This is the address to which a client of the service should address a message. Ordinarily, the metadata address is obtained by looking at the address at which the service is...
  • Blog Post: Finding Your Place

    How do I examine the settings for the endpoint that the message for the current operation was delivered to? There are two sources of settings depending on whether you’re interested in the endpoint runtime settings or the endpoint description. The endpoint description is the blueprint from which the...
  • Blog Post: Referring to Generic Interfaces in Contracts

    How do I write a contract type that has a generic parameter in a service configuration file? A contract reference is part of the template for defining a service endpoint through configuration: < endpoint address =”...” binding =”...” contract =”...” /> Now, you need to fill in...
  • Blog Post: ServiceHostBase Never Calls ApplyConfiguration

    The ServiceHost class is the primary host for running services programmed using the WCF service programming model. Some of the features exposed by ServiceHost include configuration, service description, and endpoint management to control how the service operates. A base class for ServiceHost, called...
  • Blog Post: Changes to Default Throttle Settings

    I buried this in a previous update on changes in .Net 4 but here’s a more prominent description of how service throttles have changed. The ServiceThrottlingBehavior allows you to configure three settings that limit the resource consumption of a service. MaxConcurrentInstances limits the total number...
  • Blog Post: Fix for HTTP Configuration Errors using WebScriptEnablingBehavior

    I've sufficiently recovered from running the last week-long series covering fixes for WCF to do another one. This week I'll again be covering fixes for WCF that may be hard to find and explaining the details behind each problem. When using the WebScriptEnablingBehavior to create an AJAX service,...
  • 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 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: Transaction Not Available

    Can I run code under a flowed-in transaction from within a message inspector? The setup work for the service transaction is done shortly before the actual call to the implementation of the service operation. The service transaction is not guaranteed to be available for any of these extensibility...
  • Blog Post: Ignoring MustUnderstand

    How can I configure a client or server to handle messages even if a required header isn't understood? The SOAP mustUnderstand attribute on a header is used to indicate that processing the header is required in order to properly handle the message. If the header can't be processed, then a fault is...
  • Blog Post: Untyped Asynchronous Calls

    How do I asynchronously call a service operation without having a typed service contract on the client? An untyped contract is one where there is a single input or output parameter of type Message. Using the Message class rather than strong types allows you to reuse the same contract for any arbitrary...
  • Blog Post: Three Networking Questions Answered with Samples

    How do I remove or change the framing headers used for a TCP connection? By writing a transport channel you can control exactly what information is read or written to the TCP socket. An example of doing this is in the WSE interoperability sample . How do I pass credentials from the client to...
  • Blog Post: Building a Data Contract Serializer Behavior

    In configuration there's a DataContractSerializer behavior that I can add to my service, but the class it uses is internal. How do I get the same behavior programmatically? The DataContractSerializer behavior is a shortcut for setting the MaxItemsInObjectGraph and IgnoreExtensionDataObject options...
  • Blog Post: Order Best Practices

    Why is setting the Order property on data members recommended when adding fields in a new version of the contract? The data contract versioning best practices recommend taking three steps when adding fields in a new version of a contract. The first recommendation is to set the IsRequired property...
  • Blog Post: Contract First Development through Schema

    Christian Weyer and Buddhike de Silva have an article in this month's MSDN magazine covering contract-first development with WCF . They go over modeling messages and services through schema and then applying that to build a web service with WCF. They also look at tooling for working with schemas including...
  • Blog Post: Data Deserialization Order

    Why are the members of a data contract expected in a particular order in order to be read? The order of members is frequently used to build an expectation of what element might be appearing next. Knowing the possible order of data instead of potentially having to accept data in any order tends to...
  • Blog Post: What’s New in WCF 4: More on Services and Configuration

    This list is a bit different in places from what you’ve seen in the beta 1 release and there’s always a chance that things might change again. The third part of the list covers some of the new features for service configuration. I haven’t mentioned some of the larger changes for simplified configuration...
  • Blog Post: Overriding Namespaces from Serialization

    I’ve defined my own XML namespaces for the members of a data contract and now when I generate the client proxies I get some ugly CLR namespaces for the types. How do I fix this? The mapping from an XML or WSDL namespace to a CLR namespace is a mechanical transformation of breaking apart the authority...
  • Blog Post: What’s New in WCF 4: Performance

    This list is a bit different in places from what you’ve seen in the beta 1 release and there’s always a chance that things might change again. The second part of the list covers some of the new features and changes to existing features to improve service performance. These performance features are...
  • Blog Post: Configuring Client Certificate Credentials

    How do I configure a client to provide the certificate for certificate credentials? You need to use the client credentials behavior to provide the credentials that the client will use to authenticate to the service. Here’s the basic template that you can fill out and stick in the behaviors section...
  • Blog Post: Missing Binding Extensions

    Why do I get an error “configuration evaluation context not found” when I try to create a custom binding using bindings or binding elements from a library? The evaluation context not found error (or in traces with the identifier System.ServiceModel.EvaluationContextNotFound) is generally caused by...
  • Blog Post: Stumbling on Extended Protection Policy

    When generating a proxy I’m getting an error about the extendedProtectionPolicy element not being supported. Why didn’t I see this error before? Extended protection policy is a change to how integrated Windows authentication works that is intended to enhance security. The use of extended protection...
  • Blog Post: Exception Handling Proxy Generator

    The WCFProxyGenerator tool on CodePlex has been updated, which is a community contributed tool that generates proxy classes that help manage the lifetimes of the proxy objects. As you might guess from the name the primary way that the proxy class helps manage object lifetimes is to deal with factories...
  • Blog Post: Via on Demand

    How do I specify a delivery address for messages from a proxy that are different from the service address? Two different addresses are sometimes both referred to as the address for sending messages. There is a logical address, called the To address, that is the address that identifies the service...
Page 1 of 6 (132 items) 12345»