Question

Qu'est-ce que le bon de faire un IHttpHandler d'avoir un processus de page existante .aspx la demande? Je voudrais être en mesure de compiler le fichier .aspx dans un IHttpHandler, puis l'ont traiter la demande. Il y a la méthode PageParser.GetCompiledPageInstance, mais dans la documentation, il affirme sa non pour une utilisation directe du code. Je sais que je peux avoir APSX les fichiers sont automatiquement dirigés vers, ou effectuer une RewritePath, mais je voudrais avoir la référence d'objet au gestionnaire.

Était-ce utile?

La solution

Voici un moyen rapide n'-sale de le faire:

var virtualPath = "~/foo/bar.aspx"
var output = HttpContext.Current.Response.Output;

// Get the compiled page type (i.e. foo_bar_aspx)
Type controlType = BuildManager.GetCompiledType(virtualPath);

// "new()" it up
var pageInstance = Activator.CreateInstance(controlType);

// Execute it
HttpContext.Current.Server.Execute(pageInstance, output, true);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top