Silverlight deployment to a virtual directory

Silverlight deployment to a virtual directory

Old forum URL: forums.lhotka.net/forums/t/10624.aspx


CrikeyMoses posted on Thursday, August 18, 2011

I've successfully deployed my silverlight app as a separate website and everything runs fine. But when i try to deploy it as a virtual directory underneath the Default website i'm having trouble with the WcfSlPortal.svc

I can hit the web service but the svcutil.exe link comes up with the 'computer name' (svcutil.exe http://my_web_svr/BulkMailer/WcfSlPortal.svc?wsdl

CrikeyMoses replied on Friday, August 19, 2011

I seem to have narrowed the issue down to the site being run over SSL, when i unchecked the Always HTTPS rule the web service works just fine. Will keep looking into this and report any progress.

Peran replied on Friday, August 19, 2011

Have you configured WCF (Web.config/ServiceReferences.ClientConfig) to use https?

CrikeyMoses replied on Friday, August 19, 2011

Definitely didn't, I'm quite new to this all but thanks for the heads up mate.

Peran replied on Friday, August 19, 2011

Web.config: In <services> comment/uncomment to switch between HTTP EndPoint & HTTPS EndPoint

 

 

  <system.serviceModel>

 

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true"

      multipleSiteBindingsEnabled="true" />

 

    <services>

      <!-- The service name should match the service value in WcfPortal.svc-->

      <!-- HTTP endpoint -->

      <service name="Csla.Server.Hosts.Silverlight.WcfPortal"

               behaviorConfiguration="serviceBehavior_IWcfPortal">

        <endpoint address=""

                  binding="basicHttpBinding"

                  bindingConfiguration="basicHttpBinding_IWcfPortal"

                  contract="Csla.Server.Hosts.Silverlight.IWcfPortal">

          <identity>

            <dns value="localhost"/>

          </identity>

        </endpoint>

        <endpoint address="mex"

                  binding="mexHttpBinding"

                  contract="IMetadataExchange"/>

      </service>

      <!-- HTTPS endpoint -->

      <!--<service name="Csla.Server.Hosts.Silverlight.WcfPortal"

               behaviorConfiguration="serviceBehavior_IWcfPortal_SSL">

        <endpoint address=""

                  binding="basicHttpBinding"

                  bindingConfiguration="basicHttpBinding_IWcfPortal_SSL"

                  contract="Csla.Server.Hosts.Silverlight.IWcfPortal">

          <identity>

            <dns value="localhost"/>

          </identity>

        </endpoint>

        <endpoint address="mex"

                  binding="mexHttpsBinding"

                  contract="IMetadataExchange"/>

      </service>-->

    </services>

 

    <behaviors>

      <serviceBehaviors>

        <behavior name="serviceBehavior_IWcfPortal">

          <serviceMetadata httpGetEnabled="true" />

          <serviceDebug includeExceptionDetailInFaults="true" />

        </behavior>

        <behavior name="serviceBehavior_IWcfPortal_SSL">

          <serviceMetadata httpsGetEnabled="true" />

          <serviceDebug includeExceptionDetailInFaults="true" />

        </behavior>

      </serviceBehaviors>

    </behaviors>

 

    <bindings>

      <basicHttpBinding>

        <binding name="basicHttpBinding_IWcfPortal"

                 maxReceivedMessageSize="2147483647"

                 maxBufferPoolSize="2147483647"

                 closeTimeout="00:10:00"

                 openTimeout="00:10:00"

                 sendTimeout="00:10:00"

                 messageEncoding="Text">

          <readerQuotas maxDepth="2147483647"

                        maxStringContentLength="2147483647"

                        maxArrayLength="2147483647"

                        maxBytesPerRead="2147483647"

                        maxNameTableCharCount="2147483647"/>

        </binding>

        <binding name="basicHttpBinding_IWcfPortal_SSL"

                 maxReceivedMessageSize="2147483647"

                 maxBufferPoolSize="2147483647"

                 closeTimeout="00:10:00"

                 openTimeout="00:10:00"

                 sendTimeout="00:10:00"

                 messageEncoding="Text">

          <readerQuotas maxDepth="2147483647"

                        maxStringContentLength="2147483647"

                        maxArrayLength="2147483647"

                        maxBytesPerRead="2147483647"

                        maxNameTableCharCount="2147483647"/>

          <security mode="Transport" />

        </binding>

      </basicHttpBinding>

    </bindings>

 

  </system.serviceModel>

 

Peran replied on Friday, August 19, 2011

ServiceReferences.ClientConfig: in <client> comment/uncomment to switch between http/https

 

  <system.serviceModel>

 

    <client>

      <!-- NOTE: Csla Silverlight defaults to use the endpoint named BasicHttpBinding_IWcfPortal -->

      <!-- HTTP endpoint -->

      <endpoint name="BasicHttpBinding_IWcfPortal"

                address="http://mysite.com/app/WcfPortal.svc"

                binding="basicHttpBinding"

                bindingConfiguration="BasicHttpBinding_IWcfPortal"

                contract="WcfPortal.IWcfPortal" />

      <!-- HTTPS endpoint -->

      <!--<endpoint name="BasicHttpBinding_IWcfPortal"

                address="https://mysite.com/app/WcfPortal.svc"

                binding="basicHttpBinding"

                bindingConfiguration="BasicHttpBinding_IWcfPortal_SSL"

                contract="WcfPortal.IWcfPortal" />-->

    </client>

 

    <bindings>

      <basicHttpBinding>

        <binding name="BasicHttpBinding_IWcfPortal" 

                 maxBufferSize="2147483647" 

                 maxReceivedMessageSize="2147483647"

                 closeTimeout="00:10:00"

                 openTimeout="00:10:00"

                 receiveTimeout="00:10:00" 

                 sendTimeout="00:10:00">

        </binding>

        <binding name="BasicHttpBinding_IWcfPortal_SSL" 

                 maxBufferSize="2147483647" 

                 maxReceivedMessageSize="2147483647"

                 closeTimeout="00:10:00"

                 openTimeout="00:10:00"

                 receiveTimeout="00:10:00" 

                 sendTimeout="00:10:00">

          <security mode="Transport" />

        </binding>

      </basicHttpBinding>

    </bindings>

 

  </system.serviceModel>

Copyright (c) Marimer LLC