locked
silverlight + wcf deployment - development port interferes RRS feed

  • Question

  • I have a silverlight 5 application, with a (non RIA) WCF service in my web project. Of course it works great on my machine ;-) - Windows 7, but when I deploy it to my dev server (a WinServer2008 with .NET 4 on it, using IIS 6), the application doesnt seem to finish loading - I get the initial silverlight Loading... then I just have a blank screen. I dont see any error messages.

    I think the issue may be that the silveright app assumes that the port for the WCF service is the same as it was on my machine (46133).

    Ive seen articles online that say that you should set the address of the endpoint in ServiceReferences.ClientConfig to ../Service.svc. If I change it to this, and deploy, nothing changes.

    In the properties of the web project, on the web tab, I have Use Visual Studio Development Server checked, and specific port 46133, Virtual Path =/

    I think that the deployed site, is still trying to use port 46133, because Fiddler shows a 502 red item for the clientaccesspolicy.xml file, with the message

    [Fiddler] The socket connection to localhost failed.
    ErrorCode: 10061.
    No connection could be made because the target machine actively refused it 127.0.0.1:46133

    Any suggestions?

    Here's the ServiceReferences.ClientConfig file:

    <configuration>
        <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="BasicHttpBinding_IService" maxBufferSize="2147483647"
                        maxReceivedMessageSize="2147483647">
                        <security mode="TransportCredentialOnly" />
                    </binding>
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="../Service.svc" binding="basicHttpBinding"
                    bindingConfiguration="BasicHttpBinding_IService" contract="ServiceReference1.IService"
                    name="BasicHttpBinding_IService" />
            </client>
        </system.serviceModel>
    </configuration>

    My web.config is

     <system.web>
        <httpRuntime executionTimeout="180" />
        <compilation debug="true" targetFramework="4.0" />
        <customErrors mode="Off"/>
      </system.web>
    
      <system.serviceModel>
        <bindings>
          <basicHttpBinding>
            <binding name="BasicHttpStreamingBinding" maxBufferSize="2147483647"
              maxReceivedMessageSize="2147483647" transferMode="Streamed" receiveTimeout="01:00:00" sendTimeout="01:00:00">
              <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
              <security mode="TransportCredentialOnly">
                <transport clientCredentialType="Ntlm" />
                <!--<transport clientCredentialType="Windows" />-->
              </security>
            </binding>
          </basicHttpBinding>
        </bindings>
    
        <client />
    
        <behaviors>
          <serviceBehaviors>
            <behavior name="">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
    
        <serviceHostingEnvironment
            multipleSiteBindingsEnabled="true" />
    

    Rick


    • Edited by Rick Hodder Monday, February 11, 2013 1:49 AM cleanup
    Monday, February 11, 2013 1:48 AM

Answers