Solución de problemas del servidor proxy de Team Foundation Server
Actualización: noviembre 2007
En este tema se recogen los siguientes problemas comunes que pueden surgir al utilizar el servidor proxy de Team Foundation Server y el nivel de aplicación.
UnauthorizedAccessException al intentar obtener acceso a la raíz de la caché de archivos
Excepción AccessDenied que se produce al caducar la contraseña de la cuenta de servicio del proxy
InvalidOperationException al intentar iniciar el método Web QueryProxyStatistics
CryptographicException al intentar generar una nueva clave privada
Si no puede resolver un problema después de revisar estas sugerencias y las que se encuentran en el tema de Ayuda de los mensajes de error, visite los foros técnicos de Microsoft para Visual Studio Team System (https://go.microsoft.com/fwlink/?LinkId=54490). Estos foros proporcionan subprocesos que se pueden buscar sobre una variedad de temas de solución de problemas y que se supervisan para proporcionar respuestas rápidas a sus preguntas.
UnauthorizedAccessException al intentar obtener acceso a la raíz de la caché de archivos
Si intenta obtener acceso a la carpeta CacheRoot, podría aparecer el siguiente mensaje de error (u otro similar) en el registro de eventos del servidor proxy:
TF53010: Condición inesperada en un componente de Team Foundation.
La información aquí contenida debería estar disponible para el personal administrativo del sitio.
Información técnica (para el personal administrativo):
Mensaje de excepción: Acceso denegado a la ruta de acceso 'C:\Archivos de programa\Microsoft Team Foundation 2005\Web Services\VersionControlProxy\Data\00000000-0000-0000-0000-000000000000\00'. (tipo UnauthorizedAccessException)
Seguimiento de la pila de la excepción:
en System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
en System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)
en System.IO.DirectoryInfo.Create(),
Este error se produce cuando la cuenta de servicio del proxy no tiene los permisos correctos para obtener acceso a la carpeta raíz de la caché. Para corregir este error, confirme que la cuenta de servicio del proxy tiene los permisos Leer y Escribir establecidos en Permitir en la carpeta raíz de la caché.
Excepción AccessDenied que se produce al caducar la contraseña de la cuenta de servicio del proxy
Si la contraseña de la cuenta de servicio del proxy ha caducado y el servicio del servidor proxy intenta descargar un archivo del nivel de aplicación, se devuelve el error siguiente:
Mensaje detallado: ErrorDownloadingFromAppTier
Mensaje de excepción: <html><head><title>Error</title></head><body>Error: Acceso denegado.</body></html> (tipo ProxyException)
Seguimiento de la pila de la excepción:
en Microsoft.TeamFoundation.VersionControl.Server.Proxy.ProxyRepository.GetDownloadResponse(String downloadUrl)
en Microsoft.TeamFoundation.VersionControl.Server.Proxy.CacheMissDownloadStatus.StartDownload()
en Microsoft.TeamFoundation.VersionControl.Server.Proxy.CacheMissWriter.PerformDownload(Object stateInfo)
Error: Acceso denegado
Para evitar este problema, utilice una secuencia de comandos para que reciba una notificación cuando vaya a caducar una contraseña. Cuando reciba estas notificaciones, actualice la contraseña de la cuenta de servicio antes de que resulte afectado el servicio. Para obtener un ejemplo de este tipo de secuencia de comandos, vea el artículo técnico de Microsoft Developer Network (https://go.microsoft.com/fwlink/?LinkId=69960).
InvalidOperationException al intentar iniciar el método Web QueryProxyStatistics
Si inicia el método Web ProxyStatistics, podría aparecer el mensaje de error siguiente (u otro similar) en el registro de eventos del servidor proxy:
System.InvalidOperationException: No se puede generar una clase temporal (result=1).
error CS2001: No se encuentra el archivo de código fuente 'C:\WINDOWS\TEMP\fxe6fkpm.0.cs'
error CS2008: No se especificaron entradas
en System.Xml.Serialization.Compiler.Compile(Assembly parent, String ns, CompilerParameters parameters, Evidence evidence)
en System.Xml.Serialization.TempAssembly.GenerateAssembly(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, Evidence evidence, CompilerParameters parameters, Assembly assembly, Hashtable assemblies)
en System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings, Type[] types, String defaultNamespace, String location, Evidence evidence)
en System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings, Evidence evidence)
en System.Web.Services.Protocols.XmlReturn.GetInitializers(LogicalMethodInfo[] methodInfos)
en System.Web.Services.Protocols.XmlReturnWriter.GetInitializers(LogicalMethodInfo[] methodInfos)
en System.Web.Services.Protocols.MimeFormatter.GetInitializers(Type type, LogicalMethodInfo[] methodInfos)
en System.Web.Services.Protocols.HttpServerType..ctor(Type type)
en System.Web.Services.Protocols.HttpServerProtocol.Initialize()
en System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
Para corregir este error, confirme que la cuenta de servicio del proxy tiene los permisos Leer, Leer y ejecutar y Mostrar el contenido de la carpeta establecidos en Permitir en la carpeta %WINDIR%\Temp.
CryptographicException al intentar generar una nueva clave privada
Si RSACryptoProvider no puede generar una nueva clave privada, podría aparecer la siguiente excepción CryptographicException (u otra similar) en el registro de eventos del servidor proxy:
Excepción: CryptographicException
Mensaje: El conjunto de claves no existe
Seguimiento de la pila:
en System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)
en System.Security.Cryptography.SafeProvHandle._FreeCSP(IntPtr pProvCtx)
en System.Security.Cryptography.SafeProvHandle.ReleaseHandle()
en System.Runtime.InteropServices.SafeHandle.InternalDispose()
en System.Runtime.InteropServices.SafeHandle.Dispose(Boolean disposing)
en System.Runtime.InteropServices.SafeHandle.Dispose()
en System.Security.Cryptography.RSACryptoServiceProvider.Dispose(Boolean disposing)
en System.Security.Cryptography.AsymmetricAlgorithm.System.IDisposable.Dispose()
en Microsoft.VisualStudio.Hatteras.Util.RequestSignatures.GenerateNewPrivateKey(Int32 keyLength)
en Microsoft.VisualStudio.VersionControl.Server.AdministrationManager.GenerateRepositoryKey(IPrincipal userPrincipal, Int32 keyLength)
en Microsoft.VisualStudio.Hatteras.Server.Global.Initialize()
en Microsoft.VisualStudio.TeamFoundation.Server.TeamFoundationApplication.InitializeInternal()
Este error se produce cuando RSACryptoProvider crea un archivo de clave pero no puede eliminarlo por no tener permisos suficientes.
Nota: |
---|
Este problema sólo se produce en el nivel de aplicación. |
Para corregir este error, confirme que la cuenta de servicio del proxy tiene el permiso Control total establecido en Permitir en la carpeta MachineKeys de RSA, ubicada en la carpeta Documents and Settings (por ejemplo, C:\Documents and Settings\All Users\Datos de programa\Microsoft\Crypto\RSA).
Vea también
Conceptos
Administrar conexiones remotas al servidor proxy de Team Foundation Server
Configuración del archivo Web.Config del proxy de Team Foundation Server