2017-09-07 1 views
0

ich eine Ashx Datei definiert mit dem folgenden Verfahren haben:konvertieren ASHX Process zu MVC-Controller

public void ProcessRequest(HttpContext context) ... 

Ich möchte in der es in einer MVC-Controller, den Code zu bewegen. Es ist alles Code, der leicht in einem MVC-Controller ausgeführt werden kann, aber ich bin mir nicht sicher, ob ich ihn auf eine bestimmte Weise schreiben muss, um auf die gleiche Weise aufgerufen zu werden. Ich habe folgendes versucht:

[HttpPost] //in the TestController 
public void Index() 
{ 
    var context = HttpContext; 
.... 

Aber es trifft nicht meinen Haltepunkt in der ersten Zeile. Gibt es eine andere Möglichkeit, ich muss es einrichten, um zu replizieren, aufgerufen als ProcessRequest in einer ASHX-Datei aufgerufen wird?

EDIT: hier ist meine Route config:

routes.MapRoute(
     name: "Test", 
     url: "test/{action}", 
     defaults: new { controller = "Test", action = "Index" } 
    ); 
+0

Überprüfen Sie Ihre Routing und stellen Sie sicher, dass Ihr Beitrag den Controller/Aktion trifft. Wie lautet die URL, die der Client anruft? –

+0

Nur der Stamm des Controllers, da sein Index und die Route mit Index als Standard angegeben ist. Ich habe den Post bearbeitet, um die Route hinzuzufügen. – muttley91

+0

Können Sie mit Fiddler oder Postman manuell zu diesem Endpunkt posten? Wie wird der Endpunkt aufgerufen? Können Sie eine GET-Indexaktion erstellen und nach URL suchen? Wenn Sie manuell darauf zugreifen können, ist das Problem der Clientanruf. –

Antwort

0

Es stellt sich heraus, dass für meine Zwecke, meine Aktionsmethode ein GET, kein POST sein musste. Das änderte, dass mein Problem behoben wurde.