ACTUALIZACIÓN: He publicado esta pregunta a MSDN aquí (http://forums.microsoft.com/Forums/ShowPost.aspx?PostID=2808543&SiteID=1&mode=1) y Michael Washam de Microsoft respondió con una respuesta concisa.
He creado un servicio web para actuar como un Fachada BDC-amistoso para una lista de SharePoint. Cuando utilicé esto desde mi entorno de desarrollo, funcionó bien. Cuando migrado a un nuevo servidor, Me encontré con este error:
System.IO.FileNotFoundException: La aplicación Web en http://localhost/sandbox No se pudo encontrar. Verificar que usted ha escrito correctamente la URL. Si la dirección URL debe servir contenido existente, el administrador del sistema puede necesitar agregar una nueva asignación de URL de solicitud para la aplicación deseada. en Microsoft.SharePoint.SPSite...ctor(Granja SPFarm, URI requestUri, ContextSite Boolean, SPUserToken userToken) en Microsoft.SharePoint.SPSite...ctor(Cadena requestUrl) en Conchango.xyzzy.GetExistingDocument(Cadena minId, Cadena maxId, Cadena titleFilter) b Io:\Documents and SettingsPaulMy documentosVisual Studio 2005ProjectsxyzzyBDC_DocReviewBDC_DocReviewDocReviewFacade.asmx.cs:línea 69 |
Aquí está la línea 69:
utilizando (Sitio SPSite = new SPSite("http://localhost/sandbox"))
Traté de diversas variaciones en la URL, inclusive usando el nombre del servidor real, su dirección IP, barras que se arrastra en la dirección URL, etc.. Siempre tengo ese error.
He usado El Google a la investigación lo. Muchas personas enfrentan este problema, o variaciones de él, pero nadie parece tenerlo solucionado.
Tricksy MOSS proporcionó un detallado error que no se le ocurrió a mí para comprobar la 12 registros de colmena. Con el tiempo, acerca de 24 horas después de mi colega se recomienda que hacerlo, Comprobado la 12 sección registro y encontre esto:
Se produjo una excepción al intentar adquirir la granja local:
System.Security.SecurityException: No se permite el acceso de registro solicitado.
en System.ThrowHelper.ThrowSecurityException(Recursos ExceptionResource) en Microsoft.Win32.RegistryKey.OpenSubKey(Nombre de cadena, Boolean escritura) en Microsoft.Win32.RegistryKey.OpenSubKey(Nombre de cadena) en Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_RegistryConnectionString() en Microsoft.SharePoint.Administration.SPConfigurationDatabase.get_Local() atMicrosoft.SharePoint.Administration.SPFarm.FindLocal(SPFarm& granja, Boolean& isJoined)
La zona de la Asamblea que no era: MiPC
|
Esto abrió nuevas vías de investigación, Así que fue a la Google. Eso me llevó a esto Foro: http://forums.CodeCharge.com/posts.php?post_id = 67135. Que realmente no ayudarme pero al inicio lo hizo me hace pensar que hubo un problema de base de datos y seguridad. Siguió y De Andrew Connell publicar finalmente activa el pensamiento que debo estar seguro de que la cuenta de identidad de grupo de aplicaciones tenía un acceso adecuado a la base de datos. Pensé que ya lo. Sin embargo, mi colega fue y le dio la aplicación identidad cuenta completo acceso a la piscina a SQL.
Tan pronto como ella hizo ese cambio, todo comenzó a trabajar.
Lo que pasó después es mejor expresado como un Haiku poema:
Problemas que levanten la mano.
Swing y miss. Vuelve a intentarlo.
Éxito! Pero cómo? ¿Por qué?
No quería dejar las cosas solo así, prefiriendo darle los permisos mínimos necesarios (y probablemente con miras a escribir una entrada de blog; La golpeé con el punzón, muhahahahaha!).
Sustrajo sucesivos permisos de la cuenta de identidad app piscina hasta … ya no había ningún permiso explícito para la cuenta de identidad del grupo de aplicación en todo. El servicio web continuó trabajando muy bien.
Fuimos y reiniciar los servidores. Todo continuó trabajando bien.
Por lo tanto, en Resumen: nos dio el acceso a la identidad de la aplicación piscina completo y luego lo llevó. El servicio web comenzó a trabajar y nunca dejó de funcionar. Extraño.
Si alguien sabe por qué eso debería haber funcionado, por favor dejar un comentario.
</final>