2009-11-22 3 views
1

je service de la Ria suivante définir:service Ria Code généré Non accessible dans Silverlight code

namespace SilverlightTest.Web 
{ 
    [EnableClientAccess()] 
    public class ContactService : LinqToEntitiesDomainService<AdventureWorksEntities> 
    { 
     public IQueryable<Contact> GetContactSearch(string lastName) 
     { 
      ContactRepository rep = new ContactRepository(); 
      return rep.SearchByLastName(lastName); 
     } 
    } 
} 

Quand je compile la solution, mon projet SilverlightTest ne crée le fichier SilverlightTest.Web.g.cs et approprié Les objets de contexte sont créés lorsque je le regarde. Toutefois, lorsque j'essaie d'importer l'espace de noms SilverlightTest.Web pour accéder à la classe de contexte de données pour le service ci-dessus, il indique qu'il ne peut pas trouver l'espace de noms Web. La seule différence que je peux voir entre ce que je fais et de nombreux exemples qui existent sur le web est que mon contexte de données AdventureWorksEntities se trouve dans une DLL d'objet métier distincte. J'ai essayé d'interroger directement le contexte au lieu d'utiliser le Repository Pattern que j'essaie de faire et cela ne marche pas non plus.

Des idées? Est-il possible que Ria Services accède à une DLL distincte gérant l'accès aux données ou doit-elle être dans le même projet?

Répondre

2

J'ai déjà pu mettre le service Ria dans un projet séparé, même si je me souviens d'avoir eu des problèmes. Je ne sais pas exactement ce que c'était, mais je vérifierais deux choses: vos références et votre web.config (sur le site d'hébergement). Lorsque vous ajoutez un service ria à un projet web, il fait des choses dans les coulisses qui relient tout correctement.

Vous pouvez essayer d'ajouter un service à votre projet web et vous voyez les ajouts.

+0

Lorsque j'ai ajouté un autre service, rien n'a changé. J'ai comparé mon web.config à un web.config d'un des tutoriels de Brad Abrams et je n'ai rien vu de différent non plus. – JamesEggers

+0

Et vous avez une référence au projet de service dans le projet Web? Il existe également une option dans les propriétés du projet Silverlight pour un lien Ria Services. Cependant, si vous obtenez un fichier web.g.cs généré qui devrait déjà être marqué. –

+0

J'ai fini par devoir inclure le fichier .g.cs généré dans mon projet pour qu'il puisse le reconnaître dans VS2008. Une fois que j'ai fait ça, ça a commencé à fonctionner. Vous avez confirmé ma question plus générale de «est-ce possible?» Marquant ainsi votre réponse. – JamesEggers

0

Il semble que Resharper ne reconnaisse pas les fichiers .gs et leurs espaces de noms. Si vous désactivez R # ou codez simplement sans intelisense, cela fonctionne.