Thursday, May 27, 2010

How to: Deploying Sliverlight applications in different machines

I am working on my silverlight application and i need to deploy the same on multiple machines as i need to test its performance on different servers.

Here is a small work around to do this.

  • Unzip the .XAP file in the clientBin folder of the website with WinRar or other archivator or Rename your XAP file to zip
  • Extract the zip file to a folder
  • Edit ServiceReference.ClientConfig in notepad
  • Here is the snippet of ServiceReference.ClientConfig.
<configuration>
    <system.serviceModel>
        <bindings>
            <customBinding>
                <binding name="CustomBinding_DPService" closeTimeout="00:10:00" openTimeout="00:10:00" sendTimeout="00:10:00"  receiveTimeout="00:10:00">
                    <binaryMessageEncoding />
                    <httpTransport maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
                        <extendedProtectionPolicy policyEnforcement="Never" />
                    </httpTransport>
                </binding>
            </customBinding>
        </bindings>
        <client>
            <endpoint address="/SLSampleWebsite/DPService.svc" 
                binding="customBinding" bindingConfiguration="CustomBinding_DPService"
                contract="ServiceReference1.DPService" name="CustomBinding_DPService" />
        </client>
    </system.serviceModel>
</configuration>



  • Update the endpoint address in the XML with relevant address if its hosted in different machine or in the same machine.


  • Add the folder contents to ZIP file



            <endpoint address="http://Server1/SLSampleWebsite/DPService.svc" 



  • After updating the ServiceReference.ClientConfig, Compress all files again to create new .ZIP file.


  • Delete the old .XAP file and remame the .ZIP to XAP file



It works great!

No comments:

Post a Comment