2017-10-04 3 views
0

J'ai une application héritée où un chemin ashx utilisé pour aller à un HttpHandler mais je voudrais qu'il passe à un ApiController sans changer le chemin.Route chemin ashx à ApiController

Donc my.application.com/auth/gettoken.ashx utilisé pour aller dans un fichier "old-school" ashx.cs, mais maintenant je veux qu'il passe à un contrôleur WebAPI régulier.

J'ai essayé d'enlever le gestionnaire et d'ajouter un ApiController avec le bon chemin. Cela fonctionne localement, mais pas en production. Je suppose que mon IIS Express local est configuré différemment que le IIS de production.

Puis-je y parvenir? Je serais d'accord pour désactiver complètement les gestionnaires ashx. Je l'ai essayé dans mon web.config, mais cela n'a pas fonctionné:

<remove name="SimpleHandler"/> 

Je l'ai regardé dans un redirect, mais je fais un POST à cette URL, donc une redirection ne sera pas semblent fonctionner soit. Donc, puis-je, de quelque façon, avoir un appel à un chemin avec une extension .ashx être routé vers un WebAPI ApiController?

+1

Je commencerais par faire fonctionner votre application sous IIS approprié, pas par IIS Express, puis, lorsque vous trouvez une solution, vous pouvez être sûr qu'elle fonctionnera également en production. –

Répondre

0

J'ai actuellement réintroduit le fichier ashx, car je n'ai trouvé aucune autre solution. Si quelqu'un le fait, je le marquerais volontiers comme la réponse acceptée (et changerais mon code).