2009-07-28 4 views
1

J'ai écrit un HttpHandler qui fonctionne correctement lorsque je le teste sur le serveur de développement ASP.NET.HttpHandler Path Problème ASP.NET

Dans mon web.config je:

<add verb="*" path="Files.zip" type="MyNamespace.Zip, App_Code" /> 

Et dans mon gestionnaire dans mon dossier App_Code je le code ci-dessous. Malheureusement, depuis le vidage du serveur de développement ASP.NET dans la racine - http://localhost:1234/Files.zip fonctionne très bien. Cependant, j'essaye de déployer à un serveur intranet où l'URL est quelque chose comme http://myProjects/project. Lorsque je pointe mon navigateur vers http://myProjects/project/Files.zip, je reçois un 404. Comment puis-je modifier la configuration Web pour obtenir le bon chemin? Ou est la solution ailleurs? J'ai déjà essayé de préfixer le chemin avec "~ /" et "./".

(Namespace MyNamespace, file Zip.cs) 
public void ProcessRequest(HttpContext context) 
{ 
    context.Response.ContentType = "application/octet-stream"; 
    DirectoryInfo di = new DirectoryInfo(context.Server.MapPath("files")); 
    FileInfo[] fileinf = di.GetFiles(); 
    ZipFile zip = new ZipFile(); 
    foreach(FileInfo fi in fileinf) 
    { 
     zip.AddFile(fi.FullName, ""); 
    } 
    zip.Save(context.Response.OutputStream); 
} 
+0

Version IIS sur votre serveur de déploiement? –

Répondre

2

Avez-vous les applications installées dans IIS sur votre serveur intranet telles que les demandes de * .zip sont traitées par le runtime ASP.NET? Si ce n'est pas le cas, la requête à files.zip n'atteindra jamais votre gestionnaire.

Si vous utilisez IIS 6, ce lien vous aidera à configurer le mappage de aspnet_isapi.dll en extensions zip.

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/4c840252-fab7-427e-a197-7facb6649106.mspx?mfr=true

+0

J'ai essayé tous les chemins possibles, donc il semble que ce soit probablement le problème. Malheureusement, je n'ai pas de privilèges, il sera donc difficile à tester ou à modifier. – Chet

+0

Si votre cœur n'est pas défini sur le chemin se terminant par .zip, vous pouvez simplement le changer en FilesZip.aspx ou quelque chose de similaire. Bonne chance! – JamieGaines

1

Avez-vous essayé

path="/project/Files.zip" 
Questions connexes