2010-06-10 3 views
0

J'ai créé un projet de bibliothèque de classes de services RIA et les choses ne se passent pas comme prévu. Le problème est que lorsque j'ajoute des classes de service de domaine au projet serveur, les classes de contexte de domaine correspondantes ne sont pas générées sur le projet client.La classe DomainContext n'est pas créée dans une solution de bibliothèque de classes de services RIA

Je commence par créer un nouveau projet de type Bibliothèque de classes de services WCF RIA. La solution générée comporte deux projets: RIAServicesLibrary1 (projet de bibliothèque de classes Silverlight) et RIAServicesLibrary1.Web (la bibliothèque de classes qui hébergera les services).

Ensuite, j'ajoute un nouvel élément de projet à RIAServicesLibrary1.Web de type DomainServiceClass. J'ajoute un exemple de méthode pour que le code de classe résultant soit:

namespace RIAServicesLibrary1.Web 
{ 
    using System; 
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.ComponentModel.DataAnnotations; 
    using System.Linq; 
    using System.ServiceModel.DomainServices.Hosting; 
    using System.ServiceModel.DomainServices.Server; 


    // TODO: Create methods containing your application logic. 
    [EnableClientAccess()] 
    public class DomainService1 : DomainService 
    { 
     [Invoke] 
     void DoSomething() 
     { 
     } 
    } 
} 

Ensuite, je génère toute la solution et ... rien ne se passe sur le projet client. Le dossier Generated_Code est vide et l'objet de contexte de domaine pour le service n'est pas ici.

assez drôle, si j'ajoute un nouvel élément de type service d'authentification de domaine, il fonctionne comme prévu: le fichier RIAServicesLibrary1.Web.g.cs est créé sur le projet client, contenant la classe AuthenticationDomainService1 comme prévu.

Alors qu'est-ce qui se passe ici? Est-ce que je fais quelque chose de mal?

Remarque: J'utilise les services Visual Studio 2010 Ultimate RTM et WCF RIA 1.0.

Répondre

2

Modifier à:

[Invoke] 
public void DoSomething() 
{ 
} 

Ne pas avoir 'public' signifie qu'il n'y avait rien à générer.

+0

(O___O) Je me sens tellement stupide ... merci pour votre réponse! (WTF? Je dois attendre 4 minutes avant de pouvoir accepter votre réponse) – Konamiman

Questions connexes