Ich habe einen HttpHandler geschrieben, der funktioniert, wenn ich es auf dem ASP.NET-Entwicklungsserver testen.HttpHandler Path Problem ASP.NET
In meiner Web.Config ich habe:
<add verb="*" path="Files.zip" type="MyNamespace.Zip, App_Code" />
Und in meinem Handler in meinem Ordner App_Code habe ich den Code unten. Leider, da der ASP.NET-Entwicklungsserver alles im Root ablegt - http://localhost:1234/Files.zip funktioniert ganz gut. Ich versuche jedoch, auf einem Intranet-Server bereitzustellen, wo die URL etwa http://myProjects/project ist. Wenn ich meinen Browser auf http://myProjects/project/Files.zip zeige, bekomme ich einen 404. Wie kann ich die Web-Konfiguration optimieren, um den richtigen Pfad zu bekommen? Oder ist die Lösung woanders? Ich habe bereits versucht, den Pfad mit "~ /" und "./" voranzutreiben.
(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);
}
IIS-Version auf Ihrem Deployment Server? –