These scenarios (not related to EntityFramework RIA Services with Silverlight) are certainly documented, and I hope to post some blog entries in the near future to cover these scenarios (including how to use NHibernate).
Here is one way to do what you ask for:
Install "Silverlight 4 Tools for Visual Studio 2010" if you havenโt already:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=b3deb194-ca86-4fb6-a716-b67c2604a139&displaylang=en
Create a new Silverlight navigation application in Visual Studio 2010 (check the box to enable RIA services).
Modify web.config in a web project in the following ways:
In the <system.web> section, add:
<httpModules> <add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> </httpModules>
Add <system.serviceModel> as the <system.web> peer:
<system.serviceModel> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel>
Add the following links to your web project:
System.ServiceModel.DomainServices.Hosting System.ServiceModel.DomainServices.Server
Create a new VanillaDomainService class in a web project that contains your return 100 method:
[System.ServiceModel.DomainServices.Hosting.EnableClientAccess()] public class VanillaDomainService : System.ServiceModel.DomainServices.Server.DomainService { public int ReturnInteger100() { return 100; } }
Now, back to the Silverlight application project, in Home.xaml.cs, in the OnNavigatedTo method, call the new RIA Services method (remember that all calls are asynchronous):
protected override void OnNavigatedTo(NavigationEventArgs e) { SilverlightApplication1.Web.VanillaDomainContext oneVanillaDomainContext = new SilverlightApplication1.Web.VanillaDomainContext(); oneVanillaDomainContext.ReturnInteger100( anInt => MessageBox.Show(anInt.Value.ToString()), null); }
Now create and run, and it should be.
I tested this code and it worked for me.