Ich verwende WebApiContrib.Formatting.Jsonp innerhalb eines Web-API-2-Dienstes plus Swagger für API-Dokumentation und Tests.Behandlung ungültiger JSONP-Anforderungen in der Web-API
Wenn ich jede JSONP Methode durch Swagger auslösen, mein Dienst stürzt in Datei JsonpMediaTypeFormatter.cs auf der folgenden Zeile:
throw new InvalidOperationException(Properties.Resources.NoCallback);
// NoCallback = The name 'NoCallback' does not exist in the current context
Für eine Sache, verstehe ich nicht, warum Swagger nicht erlaubt, einen Rückruf Namen für JSONP-Anfragen. Aber noch wichtiger, ich möchte nicht, dass der Dienst deswegen abstürzt.
Fragen:
- Wie können wir solche Fehler auf der Serviceseite umgehen?
- Gibt es eine Möglichkeit Swagger JSONP-Anfragen richtig zu senden? (Wie vorab definiert, einen Rückruf Name für alle JSONP Anfragen?)
Fiddler http://www.telerik.com/ Fiddler oder etwas Ähnliches, um sicherzustellen, dass Ihre jsonp-Anfragen wohlgeformt sind. Gibt es einen Grund für Sie, JSONP und nicht einfach JSON als CORS zu verwenden? – Stack
Telerik-Produkte für .NET sind alle kommerziellen, ich kann es nicht aus diesem Grund verwenden, und ich vermute, es wäre ein Overkill für die Art der Frage, die ich stelle. Und ich brauche JSONP, um Anfragen unter vielen Servern zu bearbeiten, also ist CORS der einzige Grund, warum ich es benutze. –
Es ist nur ein kostenloser Debug-Proxy. Es ist eine kostenlose eigenständige Desktop-Anwendung, die nichts mit .NET zu tun hat. Alles, was es tut, ist Ihre HTTP-Anfragen/Antworten für das Debuggen zu erfassen. Sie können etwas wie https://www.getpostman.com/ ausprobieren, das hübsch ist, aber nicht so flexibel wie Fiddler. – Stack