J'ai une configuration de site dans IIS pour fonctionner à http://localhost/WebApplication6
. Dans mon application Web, j'ai un gestionnaire (implémente IHttpHandler
). Lorsque j'imprime context.Request.Url.AbsolutePath
, j'obtiens /WebApplication6/whaetever
. Je veux couper /WebApplication6
(le nom du site local). Comment puis je faire ça? Y at-il un moyen d'obtenir le bit "WebApplication6" afin que je sache quoi couper? (à l'intérieur IHttpHandler.ProcessRequest).IIS/HttpHandler: Obtenir le chemin absolu relatif?
Répondre
Votre meilleur pari serait HttpRequest.AppRelativeCurrentExecutionFilePath - il fournit un chemin relatif à votre application web répertoire racine. Cependant, il sera sous la forme de "~/whatever
" où ~/
indique le chemin relatif de l'application. Si votre exigence est d'obtenir /whatever
alors vous pouvez supprimer ~ en utilisant des fonctions de chaîne.
BTW, voici un bon article qui vous aideront à comprendre tous les chemins: http://www.west-wind.com/weblog/posts/132081.aspx
VirtualPathUtility.GetDirectory(context.Request.Url.AbsolutePath)
cela ne fonctionnera pas. En fait, cela donnerait toujours une partie du répertoire, c'est-à-dire que '/ foo/bar /' donnera '/ foo /'. – VinayC
Oui, ça va faire. J'ai également découvert 'Request.ApplicationPath' qui me donne juste le bit'/WebApplication6' afin que je puisse modifier les URL de cette façon aussi. – mpen