Configuring a WCF Service to Run Via HTTPS
Date Published: 22 April 2011
Yesterday I wrote about how to wire up jQuery UI’s AutoComplete add-in to a WCF Service to create an autocomplete search/navigation control. Today I deployed the resulting code to production but initially had some trouble getting things to work. The only real difference between the two environments is that in production everything goes through HTTPS/SSL, so I figured that had to be the culprit. A bit of searching led to this blog post describing WCF Bindings Needed for HTTPS. I pretty much followed its advice exactly and things worked immediately. Here’s my code:
<span style="color: #606060" id="lnum1"> 1:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">system.serviceModel</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum2"> 2:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">behaviors</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum3"> 3:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">endpointBehaviors</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum4"> 4:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">behavior</span>
<span style="color: #ff0000">name</span>
<span style="color: #0000ff">="Web.WebServices.AccountServiceAspNetAjaxBehavior"</span><span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum5"> 5:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">enableWebScript</span>
<span style="color: #0000ff">/></span>
<span style="color: #606060" id="lnum6"> 6:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">behavior</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum7"> 7:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">endpointBehaviors</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum8"> 8:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">behaviors</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum9"> 9:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">serviceHostingEnvironment</span>
<span style="color: #ff0000">aspNetCompatibilityEnabled</span>
<span style="color: #0000ff">="true"</span>
<span style="color: #606060" id="lnum10"> 10:</span>
<span style="color: #ff0000">multipleSiteBindingsEnabled</span>
<span style="color: #0000ff">="true"</span>
<span style="color: #0000ff">/></span>
<span style="color: #606060" id="lnum11"> 11:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">services</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum12"> 12:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">service</span>
<span style="color: #ff0000">name</span>
<span style="color: #0000ff">="Web.WebServices.AccountService"</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum13"> 13:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">endpoint</span>
<span style="color: #ff0000">address</span>
<span style="color: #0000ff">=""</span>
<span style="color: #606060" id="lnum14"> 14:</span>
<span style="color: #ff0000">behaviorConfiguration</span>
<span style="color: #0000ff">="Web.WebServices.AccountServiceAspNetAjaxBehavior"</span>
<span style="color: #606060" id="lnum15"> 15:</span>
<span style="color: #ff0000">binding</span>
<span style="color: #0000ff">="webHttpBinding"</span>
<span style="color: #606060" id="lnum16"> 16:</span>
<span style="color: #ff0000">contract</span>
<span style="color: #0000ff">="Web.WebServices.AccountService"</span>
<span style="color: #606060" id="lnum17"> 17:</span>
<span style="color: #ff0000">bindingConfiguration</span>
<span style="color: #0000ff">="webBinding"</span>
<span style="color: #0000ff">/></span>
<span style="color: #606060" id="lnum18"> 18:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">service</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum19"> 19:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">services</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum20"> 20:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">bindings</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum21"> 21:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">webHttpBinding</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum22"> 22:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">binding</span>
<span style="color: #ff0000">name</span>
<span style="color: #0000ff">="webBinding"</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum23"> 23:</span>
<span style="color: #0000ff"><</span>
<span style="color: #800000">security</span>
<span style="color: #ff0000">mode</span>
<span style="color: #0000ff">="Transport"</span>
<span style="color: #0000ff">></</span>
<span style="color: #800000">security</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum24"> 24:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">binding</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum25"> 25:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">webHttpBinding</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum26"> 26:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">bindings</span>
<span style="color: #0000ff">></span>
<span style="color: #606060" id="lnum27"> 27:</span>
<span style="color: #0000ff"></</span>
<span style="color: #800000">system.serviceModel</span>
<span style="color: #0000ff">></span>
The new addition is on line 17, which references the new
Tags - Browse all tags
Category - Browse all categories
About Ardalis
Software Architect
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.