Deborah's Developer MindScape






         Tips and Techniques for Web and .NET developers.

October 25, 2013

Who Moved My Cheese: RIA Services

Filed under: ASP.NET RIA Services,C#,Silverlight,VB.NET @ 9:22 am

WCF RIA Services was (past tense) an awesome technology that allowed developers to quickly and super easily build domain classes and WCF services for Silverlight applications.

In VS 2012 (and VS 2010 SP1), you could use Add | New Item and get a template for a WCF RIA Domain Service Class.

image

(If you are still using VS 2012 or VS 2010 SP1+ with RIA Services, see this set of blog posts for samples and tips.)

In VS 2013, attempting to find the Domain Service Class template gives you this:

image

As of July 3, 2013, WCF RIA Services was open sourced and renamed Open RIA Services. The project lead is my friend, Colin Blair, whose name you know if you have ever had a question about WCF RIA Services.

To ensure your Silverlight/WCF RIA Services applications still run in Visual Studio 2013, Microsoft included WCF RIA Services V1.0 "in the box". This provides the compile-time domain class and service code generation as well as the runtime functionality that makes the domain service work. So you don’t have to do anything extra to run or debug your existing VS 2012 Silverlight applications in Visual Studio 2013.

However, the following features are gone:

  • The Business Application project template
  • The Domain Service Class template and associated wizard
  • Toolbox items for the Silverlight designer surface
  • Data Sources window integration for the Silverlight designer surface

See this post for more information on the above changes.

Microsoft has published several NuGet packages for support of Entity Framework 5, Windows Azure, and the SOAP and JSON endpoints in WCF RIA Services. See this post for more information on the NuGet packages.

To follow the Open RIA Services project, see this blog. (Click on "Navigation" to open the menu and navigate the blog.)

Enjoy!

EDIT: Clarified that the VS 2013 RIA Services features don’t require changes when opening VS 2012 Silverlight projects.

5 Comments

  1.   Shannon Slaton — October 28, 2013 @ 7:44 am    Reply

    Best blog title ever. So does this mean I should stop using RIA services? My world would be crushed. What is the replacement?

    Thanks,
    Shannon

  2.   DeborahK — October 28, 2013 @ 8:45 am    Reply

    Hi Shannon –

    Glad you liked the title!

    If you are using Silverlight, I would recommend that you keep using RIA services. Though it is moving to open source, it will still be there and still be updated. I’m still using it and plan to well into the future for any Silverlight work I do.

    For an easier way to build WCF services, you can look at ASP.NET Web API. But it is not really a “replacement” for RIA services because it does no code generation.

    Thanks!

  3.   Ade — November 6, 2013 @ 10:35 am    Reply

    I have a Silverlight Business Apllication-based solution which has worked fine for a year or more using VS2010. I just opened it in VS2013 and I get 204 errors (which is the limit of 102 Max in 2 of my 3 projects)!

    Having read other blogs on this subject, I note that my Model.edmx inherits from ObjectContext and creates classes inheriting from EntityObjects. I understand that “since VS2012” they should be inheriting from DbContext instead? But how do I make them do this?!

    The first thing I had to do (or maybe I should say “the first thing I did”) was Import my model namespace into my domainservice source file. That didn’t decrease my errorcount, but did change the nature of all the errors to something similar to:

    “Value of type namespace.datatype cannot be converted to namespace.modelnamespace.datatype”

    This being produced by all the functions in the domain service file defined as eg IQueryable(Of Something) but which return Me.ObjectContext.Somethings. The two are no longer the same.

    So when you say “you don’t have to do anything extra to run or debug your existing Silverlight applications in Visual Studio 2013”, I beg to differ!

    I could change the datatypes of all my domainservice functions/subroutines manually (there are 100’s of them), but which is right, the definition or the return statement? I suspect that neither is right, but I need to do something fundamental to fix all this.

    HELP!

  4.   DeborahK — November 6, 2013 @ 12:33 pm    Reply

    Hi Ade –
    I have not used Entity Framework, so I don’t know the answer to your questions.

    Do you have VS 2012? Can you open your project successfully in that version?

  5.   Ade — November 7, 2013 @ 3:12 am    Reply

    Actually I tried VS2012 Express some time ago (and again a couple of days ago!) but got/get exactly the same problems. I rejected VS2012 at the time because I was still developing the project and didn’t need the extra hassle. I was hoping that it was just something “missing” from the express edition, so when I upgraded to VS2013 Pro I was full of hope and confidence … now dashed!

    I know this is not the place to vent my frustration; it’s just a blog and I like it!

    Thanks

    Ade

Trackbacks/Pingbacks

  1. What replaces the functionality of WCF RIA Services? - BlogoSfera
  2. What replaces the functionality of WCF RIA Services? - HTML CODE

RSS feed for comments on this post. TrackBack URI

Leave a comment

© 2018 Deborah's Developer MindScape   Provided by WPMU DEV -The WordPress Experts   Hosted by Microsoft MVPs