Silverlight TV 51: Debugging and Deploying WCF RIA Services

Download this episode

Download Video

Description

In this video, John sits down with Saurabh Pant of the WCF RIA Services team and responds to some of the most common issues customers encounter when deploying WCF RIA Services. Saurabh runs through various scenarios and provides great guidance on how to identify and solve these issues. Here are some of the topics he covers:

  • Deploying to IIS
  • The important role of the web.config file
  • Debugging various deployment scenarios
  • Browsing to the svc file to check various issues

Relevant links:

Follow us on Twitter @SilverlightTV or on the web at http://silverlight.tv

Register now for the Silverlight Firestarter, Dec 2, 2010!

SLFirestarter10

 

Embed

Format

Available formats for this video:

Actual format may change based on video formats available and browser capability.

    The Discussion

    • User profile image
      jstevenson72

      Thank you, thank you, thank you, for allowing the Silverlight play to go fullscreen on one monitor and let me click / type on another...

      I have been waiting for LONG time for someone to do this right.

      You video was great information!

      I pray everyone follows your lead with the Silverlight players...

    • User profile image
      Shimoakki

      Hey jstevenson72.  It's fairly easy to write that code in case you don't already know how. Tim Heuer did a great video on the pinned full screen capability of SL 4.0 at the following link:  http://www.silverlight.net/learn/videos/all/fullscreen-window-pinning/

    • User profile image
      Atif Shahzad

      Good but please do some videos on how we can use certificate,cardspace to secure the apps,hopefully john you will do some videos on RIA Service security.Thanks and here is the gift for you Smiley

    • User profile image
      Antti

      So the official recommendation from the WCF RIA Services team is to install RIA Services to the server. Why is that? How is installing better than just deploying the assemblies? 

    • User profile image
      sophie

       ne foncation pas mon dieu  windows live messenger 2011 nouvelle j espere envoyeur a moi  bonne sourire

    • User profile image
      sophie

      @sophie:

    • User profile image
      Ashok Guduru

      Thanks for the show. All of in this show was already been blogged in the following post of Mr. Pant.
      http://blogs.msdn.com/b/saurabh/archive/2010/03/16/ria-services-application-deployment.aspx
      I find the above post very in-depth and informative. The other posts by Mr. Pant on his blog about the same subject are also useful.
      What I have been looking for and didn't find more info on are...
      1) When I use and refer a WCF service in SL app, the associated .xap file embeds a ServiceReferences.ClientConfig which will have bindings and service endpoint address I referenced in the application hard-coded as e.g. <endpoint address="http://localhost:1660/Services/PeopleService.svc"
      in as follows
      <client>
      <endpoint address="http://localhost:1660/Services/PeopleService.svc"
      binding="customBinding" bindingConfiguration="CustomBinding_PeopleService"
      contract="Proxies.PeopleService" name="CustomBinding_PeopleService" />
      </client>
      So when I deploy my service/app on to production or test servers my application is not working as it has hard-coded the server name (localhost) and the port number (1660) which is not exactly present on the target machines. I need to change as per the target setup and this not possible as my SL app is stuffed it in associated .xap file.
      2) I also tried to unzip it and re-zip after editing those references but that didn't worked as the SL app failed to identify it as pure .xap file even though I just changed the line. The SL app didn't load as if didn't find the .xap file at all.
      3) I think edting the .xap file manually is also not good approach as we need several times to do the same.
      I didn't find any solutions to above. Would you guys show/direct me to right way to do it? I don't now whether I'm missing anything here or not have the full knowledge on the subject.
      All I'm trying is to get my prototype application (SL) deploy on to my customer's demo system by sending the completed package without telling too much configuration and setup information without VS.NET installed.
      Regards,
      Ashok Guduru
       

    • User profile image
      Ashok Guduru

      Just re-formatted for clarity. (I didn't find a preview!!)
       
      Thanks for the show. All of in this show was already been blogged in the following post of Mr. Pant.
      http://blogs.msdn.com/b/saurabh/archive/2010/03/16/ria-services-application-deployment.aspx
      I find the above post very in-depth and informative. The other posts by Mr. Pant on his blog about the same subject are also useful. What I have been looking for and didn't find more info on are...
      1) When I use and refer a WCF service in SL app, the associated .xap file embeds a ServiceReferences.ClientConfig which will have bindings and service endpoint address I referenced in the application hard-coded as
      e.g. <endpoint address="http://localhost:1660/Services/PeopleService.svc"
      in as follows
      <client> <endpoint address="http://localhost:1660/Services/PeopleService.svc" binding="customBinding" bindingConfiguration="CustomBinding_PeopleService" contract="Proxies.PeopleService" name="CustomBinding_PeopleService" />
      </client>
      So when I deploy my service/app on to production or test servers my application is not working as it has hard-coded the server name (localhost) and the port number (1660) which is not exactly present on the target machines. I need to change as per the target setup and this not possible as my SL app is stuffed it in associated .xap file.
      2) I also tried to unzip it and re-zip after editing those references but that didn't worked as the SL app failed to identify it as pure .xap file even though I just changed the line. The SL app didn't load as if didn't find the .xap file at all.
      3) I think edting the .xap file manually is also not good approach as we need several times to do the same. I didn't find any solutions to above. Would you guys show/direct me to right way to do it? I don't now whether I'm missing anything here or not have the full knowledge on the subject. All I'm trying is to get my prototype application (SL) deploy on to my customer's demo system by sending the completed package without telling too much configuration and setup information without VS.NET installed.
       
      Regards,
      Ashok Guduru 
       

    • User profile image
      ea5flz

      @jstevenson72:soy nuevo y keria cocer esto.-pascual.-

    • User profile image
      ea5flzdc

      soy nuevo y keria conocer este programa.-pascual.-

    • User profile image
      ea5flzdc

      @Ashok Guduru:.-ok.-thankyou very much.-

    • User profile image
      dharric

      This was great stuff. Now if you happen to be working with Ria Services using Windows Authentication its a little different and I have a similarly simple guide on my own blog at http://besilverlight.blogspot.com/. Good luck.

       

    • User profile image
      Jos

      John,
      this is a great tutorial and as long as I deploy all the stuff on the local desktop, all is working just fine, but when I try to deploy the App to a Small Business Server 2003 SP2 from within VS 2010, it gives me errors. As a workaround, I copied the deploy structure and files from the local machine to the SBS 2003 machine. I can fire up the Silverlight App but can't seem to make a connection to the Sql Express 2008 R2 backend database (your database from this example).
      I always get the Not Found error. I think it has to do something with access rights needed to connect to the SQL Express server. I even set up a separate Application pool in IIS 6 on the server, tried anonymous, windows user and everything else possible but it just won't fire up the DB. Is it possible to post an online tutorial/course with all the steps/printscreens and settings needed for IIS, SQLExpress 2008 R2 and web.config?
      I know i'm asking alot, but after trying all the tricks from Saurabh as shown in this video and tricks from other posts, I'm still troubled with lots of questions.

    • User profile image
      Jos

      Fixed the issue. Set IIS anonymous user to log on with server administrator account on the IIS app.

    • User profile image
      edward frank

      im really looking foward to having a good go at this pc thing lol i hopen to enjoy it as much as it looks

    • User profile image
      mondon

      @jstevenson72:

    • User profile image
      antointhe

      [quote]
      Dec 10, 2010 at 5:07 AM
      John, this is a great tutorial and as long as I deploy all the stuff on the local desktop, all is working just fine, but when I try to deploy the App to a Small Business Server 2003 SP2 from within VS 2010, it gives me errors. As a workaround, I copied the deploy structure and files from the local machine to the SBS 2003 machine. I can fire up the Silverlight App but can't seem to make a connection to the Sql Express 2008 R2 backend database (your database from this example). I always get the Not Found error. I think it has to do something with access rights needed to connect to the SQL Express server. I even set up a separate Application pool in IIS 6 on the server, tried anonymous, windows user and everything else possible but it just won't fire up the DB. Is it possible to post an online tutorial/course with all the steps/printscreens and settings needed for IIS, SQLExpress 2008 R2 and web.config? I know i'm asking alot, but after trying all the tricks from Saurabh as shown in this video and tricks from other posts, I'm still troubled with lots of questions.
      [/quote]
      I think you probably needed to change the webconfig connectionstring to allow you to connect to your R2 database.
      Giving SQL Server admin rights to IIS is not a good idea if the box or dev server gets compromised!

    • User profile image
      AbbyCoder

      Thanks for the tutorial!  I am confused by one thing you stated however.  You stated that the <system.web> section was used for deploying to IIS 6 and the <system.webServer> section was used for deploying to IIS 7.  If this is the case and you are deploying to IIS 7, then how do you add things like <roleManager>, <authentication>, and <customErrors> to the web.config?  These are not allowed in the <system.webServer> section.

      Also, I agree with one of the earlier posts that we really do need a tutorial on using the SL4 RIA services Business application with "Authentication" and SSL.  Most business applications require some sort of authentication.  And please show how it is done in a true deployment scenario where you have the Silverlight app installed to IIS 7 and the database (SQL Server 2008) installed on separate servers, as this is the typical deployment in the real world.

      Thanks,

      Abby

    Comments closed

    Comments have been closed since this content was published more than 30 days ago, but if you'd like to send us feedback you can Contact Us.