2010-02-26 1 views
5

ASP.NET inclut automatiquement la balise de script suivant:Modification de l'URL WebResource.axd

<script src="/WebResource.axd?d=8H_C0aee9xE8e9a-3YoRhA2&amp;t=633413907763620168" type="text/javascript"></script> 

Toutefois, le site des clients est un autre site par proxy. Donc, l'URL à la racine de leur site est:

http://domain.com/somename/ 

donc je dois le préfixe WebResource.axd avec/somename donc l'étiquette résultante ressemblera à ceci:

<script src="/somename/WebResource.axd?d=8H_C0aee9xE8e9a-3YoRhA2&amp;t=633413907763620168" type="text/javascript"></script> 

Ce que je ne suis pas sûr est de savoir comment régler cela? Y a-t-il un paramètre web.config que je peux définir pour qu'il ait ce préfixe?

Répondre

2

Je pense que cette fonction Response.ApplyAppPathModifier ("You path"); peut faire le travail pour vous.

sur Global.asax

protected void Application_PreRequestHandlerExecute(object sender, EventArgs e) 
{ 
    string HereIsMyFileName = HttpContext.Current.Request.RawUrl; 

    if HereIsMyFileName contains the "webresource.axd" 
    then change it to what ever you like using 
     Response.ApplyAppPathModifier("You path"); 

Espérons que cela aide.

+0

Didn ne fonctionne pas pour moi, alors utilisé une solution similaire à http://stackoverflow.com/questions/5536536/change-the-requested-url-of-webresource-axd – anre

+0

@anre Merci pour l'information. Je vois la réponse que vous notez, et je n'y vais jamais, pour scanner et remplacer le HTML complet de la page pour une chaîne. Trop de mémoire, de temps et probablement d'erreurs si vous changez quelque chose d'autre. Maintenant, je ne sais pas pourquoi cela ne fonctionne pas pour vous, sa réponse de 4 ans ... si je trouve le temps je vais vérifier. – Aristos

1

Eh bien, vous êtes à peu près foutu ici. Reflector révèle avec certitude que ceci est codé en dur et ne peut pas être changé.

Votre seule option est de trouver une solution de contournement. Par exemple, vous pouvez créer un filtre (HttpFilter) qui remplacerait "WebResource.axd" par l'adresse appropriée.

Une autre chose que je peux penser - si vous contrôlez le serveur proxy, vous pourriez avoir filtrer de telles demandes et les rediriger de manière appropriée en fonction du référent.

Bonne chance.

Questions connexes