2017-04-20 52 views
1

J'ai une application ASP.NET qui utilise SharpSvn (SharpSvn.1.9-x86.1.9005.3940.224). L'application s'exécute sur un Windows Server 2012 R2 avec IIS 8 avec son propre pool d'applications. Le serveur SVN lui-même est VisualSVN Server 3.6.0. Ce serveur est configuré pour utiliser HTTPS. Tout fonctionne comme un charme.SVN "Impossible de localiser le fichier auth"

Maintenant, j'ai créé une deuxième application. Aussi bien ASP.NET avec la même version de SharpSvn. J'ai déployé cette application dans un nouveau site dans le même IIS avec son propre pool d'applications. L'application fonctionne parfaitement bien. Eh bien, presque ... si j'essaie d'obtenir l'historique d'un fichier qui fait partie de la première application, j'obtiens l'erreur "Impossible de localiser le fichier auth".

La trace de la pile n'est pas très utile pour moi:

[SvnException]: Unable to locate auth file 
[SvnRepositoryIOException]: Unable to connect to a repository at URL 'https://localhost:8181/svn/tcr/kiosk/KioskSetup.xml' 
    at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, SvnException error, Object targets) in d:\bb\sharpsvn-v1.900x\v40\src\sharpsvn\svnclientargs.cpp:line 78 
    at SharpSvn.SvnClientArgs.HandleResult(SvnClientContext client, svn_error_t* error, Object targets) in d:\bb\sharpsvn-v1.900x\v40\src\sharpsvn\svnclientargs.cpp:line 39 
    at SharpSvn.SvnClient.InternalLog(ICollection`1 targets, Uri logRoot, SvnRevision altPegRev, SvnLogArgs args, EventHandler`1 logHandler) in d:\bb\sharpsvn-v1.900x\v40\src\sharpsvn\commands\log.cpp:line 378 
    at SharpSvn.SvnClient.Log(ICollection`1 targets, SvnLogArgs args, EventHandler`1 logHandler) in d:\bb\sharpsvn-v1.900x\v40\src\sharpsvn\commands\log.cpp:line 213 
    at SharpSvn.SvnClient.Log(ICollection`1 targetPaths, SvnLogArgs args, EventHandler`1 logHandler) in d:\bb\sharpsvn-v1.900x\v40\src\sharpsvn\commands\log.cpp:line 267 
    at SharpSvn.SvnClient.GetLog(ICollection`1 targetPaths, SvnLogArgs args, Collection`1& logItems) in d:\bb\sharpsvn-v1.900x\v40\src\sharpsvn\commands\log.cpp:line 486 
    at AspNetMaintenance.Versioning.VersionControlSvn.GetLog(ICollection`1 fileNamesWithPath) in D:\projects\misc\AspNetMaintenance\AspNetMaintenance\Versioning\VersionControlSVN.cs:line 330 
    at AspNetMaintenance.Controllers.FileExplorerController.GetHistory(DataSourceRequest request, Guid[] files) in D:\projects\misc\AspNetMaintenance\AspNetMaintenance\Controllers\FileExplorerController.cs:line 309 

Le deuxième pool d'applications dispose d'un accès complet au répertoire où VisualSVN met tous ses fichiers des référentiels.

Le certificat de VisualSVN Server se trouve dans le magasin de certificats de l'ordinateur, sous "Autorités de certification racines de confiance". Donc, il devrait être accessible à tous les utilisateurs.

Et pour rendre les choses encore pires: je n'ai pas ce problème sur mon ordinateur de développement (Windows 8, IIS Express, mon utilisateur a des privilèges administratifs).

Des idées que j'ai oublié?

Meilleures salutations, Carsten

+0

L'erreur se produit-elle après avoir effectué une opération depuis cet ordinateur avec le client svn.exe pour accéder au serveur? Par exemple. à partir de la machine affectée, exécutez 'svn info https: // svn.example.com/svn/MyRepo' ** sous le compte qui exécute le pool d'applications **, puis réessayez votre application SharpSVN. Quelque chose me fait penser que votre application ne gère pas correctement l'authentification et la mise en cache. BTW, avez-vous l'authentification Windows intégrée ou l'authentification Windows de base activée sur le serveur? Peut-être les deux? – bahrep

+0

"sous le compte qui exécute le pool d'applications"? Vous voulez dire quelque chose comme "se connecter avec le pool d'applications"? AFAIK c'est pas possible, ou? J'ai redémarré la machine et n'ai pas exécuté la première application, seule celle qui cause le problème. Sans succès. Donc, la bonne idée d'un problème de mise en cache semble ne pas s'appliquer. L'authentification est définie sur "Intégré" pour les deux applications. J'ai vérifié tous les autres paramètres et je n'ai trouvé aucune différence. –

Répondre

0

Il est assez simple: La propriété loadUserProfile du pool d'applications IIS doit être réglé sur true.