Silverlight TV 51: Debugging and Deploying WCF RIA Services
- Posted: Nov 05, 2010 at 8:58 AM
- 70,357 Views
- 18 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- High Quality WMV (PC, Xbox, MCE)
- MP3 (Audio only)
- MP4 (iPod, Zune HD)
- Mid Quality WMV (Lo-band, Mobile)
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:
- John's blog and on Twitter (@john_papa)
- More about RIA Services
- RIA Services Forums
Follow us on Twitter @SilverlightTV or on the web at http://silverlight.tv
Register now for the Silverlight Firestarter, Dec 2, 2010!
Comments Closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.

Follow the Discussion
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...
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/
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
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?
ne foncation pas mon dieu windows live messenger 2011 nouvelle j espere envoyeur a moi bonne sourire
@sophie:
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
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
@jstevenson72:soy nuevo y keria cocer esto.-pascual.-
soy nuevo y keria conocer este programa.-pascual.-
@Ashok Guduru:.-ok.-thankyou very much.-
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.
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.
Fixed the issue. Set IIS anonymous user to log on with server administrator account on the IIS app.
im really looking foward to having a good go at this pc thing lol i hopen to enjoy it as much as it looks
@jstevenson72:
[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!
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
Remove this comment
Remove this thread
close