Question

J'ai un exemple d'application de silverlight très simple. J'ai ajouté un service de domaine avec un modèle d'entité qui a une seule entité. L'application client charge simplement toutes les lignes de l'entité au démarrage. Quand je lance ceci sur ma boîte de développement, il fonctionne comme prévu. Cependant, quand je me déplace à notre serveur de test, je reçois une exception disant que la méthode que je fais appel ne peut pas être trouvé (opération de chargement a échoué pour la requête « GetCTCStation ». Le serveur distant a renvoyé une erreur. NotFound.). Quand je visitai la communication client / serveur plus étroitement avec Fiddler j'ai découvert que la demande va http: // [serveur url] /ClientBin/SilverlightApplication7-Client-Web-CTCService.svc/binary . J'ai ajouté le service de domaine à la racine du projet web, donc je ne comprends pas pourquoi le client recherche dans le répertoire ClientBin. Il est évidemment pas là. Qu'est-ce que je fais mal ici? Je ne l'ai jamais eu de problèmes avec la version preview Juillet de RIA.


Il est relatif, mais qui est traitée dans le fichier Generated_Code automatiquement. Et il n'y a rien dans le webconfig à configurer. J'ai utilisé les paramètres par défaut lors de la création d'un service de domaine. J'ai essayé de mettre explicitement le uri lors de l'instanciation du service et même exception a eu lieu.

Était-ce utile?

La solution

Après une longue lutte et d'essayer de nombreuses options différentes j'ai finalement trouvé la solution. Ce message a été touche:

En fait, on n'inluded de quelques dll dans le dossier bin lors de la publication du projet. Assurez-vous que les sous références dll suivants sont configurés correctement (Assurez-vous que System.ComponentModel.DataAnnotations pointe C: \ Program Files \ Microsoft \ SDKs RIA Services \ v1.0 \ Libraries \ Server \ System.ComponentModel. DataAnnotations.dll ):

System.ComponentModel.DataAnnotations et tous les dll qui commence par System.Web doit avoir « Copier locale » sur true.

Générez le projet et publier à nouveau. Pour moi a résolu le problème.

Je voudrais remercier tous ceux qui ont contribué à la solution de ce problème (dans ce fil et d'autres).

Autres conseils

Si vous inspectez l'erreur sur cette demande de service (ce qui est normal la façon dont vous le voyez), qu'est-ce que le contenu de Fiddler dire? NotFound est generit dans le plug-in, mais Fiddler est probable que vous montre un HTTP 500 ou quelque chose avec un peu plus en détail dans le corps de la réponse.

1) Qu'est-ce que IIS-vous sur deploing? Si <7 Vous avez besoin correctif

2) Inclure tous vos assemblages RIA (Set Copie locale => True) Y compris:

System.Web.Ria

System.Web.DomainServices. (il y a 4 d'entre eux en fonction de ce que vous utilisez)

3) Cela peut être le résultat de votre noeud dans votre application ASPNET étant réglé sur Windows, mais votre site est configuré pour Anonymous dans IIS. Pour la plupart, en changeant simplement le noeud en mode = » Forms » supprimera cette erreur et vous permettre de continuer. Pour d'autres, si votre configuration IIS est configuré pour utiliser les deux Auth intégré ainsi que Anonymous, vous aurez envie de décocher un d'entre eux dans le cadre Sécurité de répertoire pour le site dans la console de gestion IIS.

Microsoft recommande sur MSDN que Ria services être installé sur le serveur.

  

Il est recommandé que les services RIA être installé sur le serveur Web   qui hébergera votre application.

Il y a un truc ici qui probablement ont vu la plupart des gens répugnent à cette solution. L'installation liste un certain nombre de conditions préalables par défaut que vous ne souhaitez généralement à installer sur le serveur.

  

Conditions préalables Consultez

     

Les composants requis suivants sont manquants:

     
      
  • Microsoft Visual Studio 2010 ou plus récent ou Visual Web Developer 2010
  •   
  • Exprimez Microsoft Silverlight 4 Runtime Developer ou plus récent Microsoft
  •   
  • Silverlight 4 SDK ou kit de développement Microsoft Silverlight 5
  •   

L'exécution de la avec l'argument de ligne de commande SERVER=TRUE contournera cette vérification.

  

msiexec / i RiaServices.msi SERVER = TRUE

Je recommande également que vous utilisez cette solution car il ne nécessite pas de configuration particulière pour un ensemble spécifique de dll qui peut changer dans les futures versions. En outre, le processus de publication sera un peu plus rapide parce que ces fichiers ne seront pas inclus.

Notez également que vous pouvez utiliser le Web Platform Installer pour installer des services de Ria sur un serveur en utilisant le WCF RIA services serveur d'installation pour Net Framework 4.0 qui a le même effet que le commutateur de SERVER=TRUE. Malheureusement, cette version 1 est uniquement et service pack manquant 2.

est ma solution de cas pour régler « Copie locale » Propriété des ensembles suivants de Références Dossier de WebSite « True »:

System.ComponentModel.DataAnnotations  
System.ServiceModel.DomainServices.EntityFramework  
System.ServiceModel.DomainServices.Hosting  
System.ServiceModel.DomainServices.Hosting.OData  
System.ServiceModel.DomainServices.Server  
System.Web.ApplicationServices  
System.Web  
System.Web.Extensions  
System.Web.Mobile  
System.Web.Services

Si tout est correct après la prochaine reconstruction de ces ensembles seront copiés dans le dossier bin de votre projet.

Ce qui est bon à portée de main toute configuration d'IIS 7, je ne l'ai pas Perform.

Avez-vous vérifié la partie d'adresse de votre configuration de liaison? On dirait qu'il utilise une adresse relative.

Pour moi, ce fut que l'authentification a été réglé pour ne pas « Anonymous » dans IIS. Je Fiddler pour obtenir le produit URL RIA SCV, puis ouvert l'URL dans un navigateur. Le message était tout à fait explicite.

Je devais autoriser l'accès anonyme, redémarrez le pool d'applications et tout fonctionnait comme prévu.

WCF RIA Services de VS 2008 erreurs de déploiement

Il y a beaucoup de messages agréables sur le net et le meilleur semble être ici (Merci Tim)

Bien que tous les messages que j'ai trouvé étaient utiles en quelque sorte, la solution finale dans mon cas était la chaîne de connexion inappropriée DB. Bien que la chaîne VS généré DB a bien fonctionné dans les VS, je ne pouvais pas le déployer sur mon serveur QA jusqu'à ce que je parés à être comme ceci:

add name="myEntities" connectionString="metadata=res://*/ReviewsModel.csdl|res://*/ReviewsModel.ssdl|res://*/ReviewsModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=dataSource;Initial Catalog=intitalCatalog;User ID=userID;Password=password;&quot;" providerName="System.Data.EntityClient" 

WCF RIA Services de déploiement des erreurs de VS 2008   est la solution que vous recherchez par exemple de téléchargement et vérifiez votre auto en direct de service WCF RIA (VS2008).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top