Actualización: Poño esta pregunta para MSDN aquí (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) and Michael Washam of Microsoft responded with a concise answer.
Eu creei un servizo web para actuar como un Fachada BDC-friendly to a SharePoint list. When I used this from my development environment, funcionou moi ben. Cando migrei este para un novo servidor, Eu atopei este erro:
System.IO.FileNotFoundException: A aplicación web en http://localhost/sandbox non puido ser atopada. Comprobe se inseriu a URL correctamente. Se a URL debe estar servindo contido existente, o administrador do sistema pode ter que engadir un novo mapeamento da URL da solicitude á aplicación desexada. en Microsoft.SharePoint.SPSite .. ctor(SPFarm Facenda, Uri requestUri, Booleana contextSite, SPUserToken userToken) en Microsoft.SharePoint.SPSite .. ctor(Cordas requestURL) en Conchango.xyzzy.GetExistingDocument(Cordas miniD, Cordas maxId, Secuencia de filtros título) en C:\Documents and Settings Galicia Os meus documentos Visual Studio 2005 Projects xyzzy BDC_DocReview BDC_DocReview DocReviewFacade.asmx.cs:liña 69 |
Aquí é a liña 69:
utilización (Lugar SPSite = new SPSite("http://localhost/sandbox"))
Intento varias variacións sobre a URL, ata usar o nome real do servidor, o seu enderezo IP, barra ao final da URL, etc. I always got that error.
Eu soía Google to research it. Lots of people face this issue, ou variacións dela, pero ninguén parecía telo resolto.
Tricksy Moss solicitado un erro tan detallado que non se me ocorreu para comprobar o 12 hive logs. Eventualmente, sobre 24 horas despois meu compañeiro recomenda-me facelo, Eu comproba o 12 rexistro colmea e atopei este:
Unha excepción ocorreu durante o intento de adquirir a facenda local:
System.Security.SecurityException: Acceso ao rexistro solicitado non se admite.
en System.ThrowHelper.ThrowSecurityException(ExceptionResource recurso) en
(String nome, Booleana gravable) en
(String nome) en
() en
() en
(SPFarm& Facenda, Booleana& isJoined)
A Zona da assembly que non foi: MyComputer
|
Isto abriu novos camiños de investigación, polo que estaba de volta a Google. Isto levoume a este foro post: http://forums.codecharge.com / posts.php?post_id = 67135. That didn’t really help me but it did start making me think there was a database and/or security issue. I soldiered on and Andrew Connell de post finally triggered the thought that I should make sure that the application pool’s identity account had appropriate access to the database. I thought it already did. Con todo, meu compañeiro foi e deu o app conta de identidade do pool acceso total ao SQL.
Así que fixo ese cambio, everything started working.
O que pasou despois é mellor expresada como un haiku poema:
Problemas levantar as mans.
You swing and miss. Try again.
Éxito! But how? ¿Por que?
Ela non quería deixar as cousas só, como que, preferindo dar permiso mínima necesaria (e, probablemente, con un ollo para escribir un post no blog; Eu batía nela co zócalo, muhahahahaha!).
Ela eliminou os permisos sucesivas da súa conta de identidade do pool de aplicacións ata … there was no longer any explicit permission for the app pool identity account at all. The web service continued to work just fine.
We went and rebooted the servers. Everything continued to work fine.
Así, para recapitular: we gave the app pool identity full access and then took it away. The web service started working and never stopped working. Bizarre.
Se alguén sabe por que isto debería funcionar, por favor, deixe un comentario.
</final>