MISE À JOUR: J'ai posté cette question à MSDN ici (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) et Michael Washam de Microsoft a répondu avec une réponse concise.
J'ai créé un service web d'agir comme un Façade de la BDC-facile vers une liste SharePoint. Quand j'ai utilisé cela de mon environnement de développement, il fonctionnait bien. Quand j'ai migré ce vers un nouveau serveur, J'ai rencontré cette erreur:
System.IO.FileNotFoundException: L'application Web à http://localhost/sandbox On ne pouvait trouver. Vérifiez que vous avez correctement tapé l'URL. Si l'URL doit être au service de contenu existant, l'administrateur système peut besoin d'ajouter un nouveau mappage d'URL de demande à l'application envisagée. à Microsoft.SharePoint.SPSite...ctor(Ferme SPFarm, URI requestUri, ContextSite booléenne, UserToken SPUserToken) à Microsoft.SharePoint.SPSite...ctor(Chaîne requestUrl) à Conchango.xyzzy.GetExistingDocument(Chaîne minId, Chaîne maxId, Chaîne titleFilter) en c:\Documents et SettingsPaulMy DocumentsVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:ligne 69 |
Voici la ligne 69:
à l'aide de (Site SPSite = nouveau SPSite("http://localhost/sandbox"))
J'ai essayé différentes variations sur l'URL, y compris en utilisant le nom réel du serveur, son adresse IP, les barres obliques sur l'URL, etc.. J'ai toujours eu cette erreur.
J'ai utilisé Le Google pour une recherche. Beaucoup de gens font face à ce problème, ou des variantes de celui-ci, mais personne ne semblait avoir résolu.
MOSS tricksy fourni une telle détaillée erreur qu'il n'a pas lieu pour moi de vérifier la 12 journaux de la ruche. Par la suite, sur 24 heures après mon collègue Je le fais a recommandé, J'ai vérifié la 12 Journal de la ruche et trouvé ceci:
Une exception s'est produite alors qu'il tentait d'acquérir la batterie locale:
System.Security.SecurityException: Accès au Registre demandé n'est pas autorisé.
à System.ThrowHelper.ThrowSecurityException(Ressources ExceptionResource) à Microsoft.Win32.RegistryKey.OpenSubKey(Nom de chaîne, Boolean en écriture) à Microsoft.Win32.RegistryKey.OpenSubKey(Nom de chaîne) à Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() à Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() à Microsoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& ferme, Boolean& isJoined)
La Zone de l'assembly qui a échoué était: Poste de travail
|
Cela ouvre de nouvelles pistes de recherche, il était donc retour de The Google. Cela m'a conduit à cette post sur le Forum: http://forums.CodeCharge.com/posts.php?post_id = 67135. Qui n'a pas vraiment m'aider mais il n'a démarré me fait penser qu'il y avait un problème de base de données et/ou de sécurité. J'ai persévéré et De Andrew Connell poster finalement déclenchée la pensée que je devrais faire en sorte que le compte d'identité du pool d'applications avait accès à la base de données. J'ai pensé que c'était déjà le cas. Cependant, mon collègue est allé et a donné l'app pool identité compte un accès complet à SQL.
Dès qu'elle a fait ce changement, tout a commencé à travailler.
Ce que ce fut le cas suivant est le mieux exprimé comme un haïku poème:
Problèmes lèvent leurs mains.
Vous swing et miss. Réessayez.
Succès! Mais comment? Pourquoi?
Elle ne voulait pas laisser les choses tranquilles comme ça, préférant se donner la permission requise minimale (et sans doute dans une optique d'écrire une entrée de blog; J'ai battue pour le punch, muhahahahaha!).
Elle enlève les autorisations successives sur le compte d'identité de pool app jusqu'en … Il n'existait plus aucune autorisation explicite pour le compte d'identité du pool application à tous les. Le service web a continué à fonctionner parfaitement.
Nous sommes allés et redémarré les serveurs. Tout a continué à fonctionner correctement.
Si, pour récapituler: Nous avons donné l'accès complet de l'identité app pool et puis il a enlevé. Le service web a commencé à travailler et jamais cessé de travailler. Bizarre.
Si quelqu'un sait pourquoi qui ont travaillé, Veuillez laisser un commentaire.
</fin>