Ich habe ein MVC-Projekt, das extern verfügbar gemacht wird. Ich habe ein internes Web-API-Projekt.Erstellen eines MVC-Controller-Proxys für einen Web-API-Controller
Aus Gründen, die ich nicht kontrollieren kann, kann ich das Web-API-Projekt nicht direkt bereitstellen und ich kann meinem MVC-Projekt keine Web-API-Controller hinzufügen.
Ich muss einen MVC-Controller erstellen, der als Proxy für einen Web-API-Controller fungiert. Ich brauche die Antwort vom MVC-Controller, um zu sehen, als ob die Web-API direkt aufgerufen wurde.
Was ist der beste Weg, dies zu erreichen?
Gibt es einen besseren Ansatz als das, was ich bisher habe?
Wie kann ich den Fehler beheben, den ich bekomme? Hier
ist das, was ich bisher:
MyMVCController
[HttpGet]
public HttpResponseMessage GetData(HttpRequestMessage request)
{
...
var response = proxy.GetData();
return request.CreateResponse();
}
MyProxyClass
public HttpResponseMessage GetData()
{
...
return HttpRequest(new HttpRequestMessage(HttpMethod.Get, uri));
}
private HttpResponseMessage HttpRequest(HttpRequestMessage message)
{
HttpResponseMessage response;
...
using (var client = new HttpClient())
{
client.Timeout = TimeSpan.FromSeconds(120);
response = client.SendAsync(message).Result;
}
return response;
}
Im MVC-Controller, ich eine InvalidOperationException auf Antrag bin immer .CreateResponse() -Zeile. Der Fehler lautet:
Die Anforderung hat kein zugeordnetes Konfigurationsobjekt oder die angegebene Konfiguration war null.
Jede Hilfe würde sehr geschätzt werden. Ich habe Google und StackOverflow durchsucht, aber ich konnte keine gute Lösung finden, um diesen Proxy zwischen MVC und Web API zu erstellen.
Danke!
Würde das nicht immer einen 200 Statuscode zurückgeben? Ich muss den Statuscode der Antwort von der Web-API beibehalten. Außerdem möchte ich nicht, dass die Web-API das Objekt serialisiert, der Proxy-Server wird serialisiert, und das MVC serialisiert das Objekt erneut. – jkruer01
Sie könnten immer Statuscode, den Sie wollen, basierend auf Ergebnis, das Sie von Web API Anruf erreichen – aleha
zurück, was ist mit der Serialisierung, Deserialisierung, Serialisierung erneut Problem? – jkruer01