0

おそらくばかげた質問ですが、jsonp サポートを webapi アプリに追加しようとしています。この行を webapiconfig.cs に追加しましたが、jsonpmediatypeformatter コンストラクターには 2 つの引数が必要なため、失敗しています。

 public static void Register(HttpConfiguration configuration)
    {
        configuration.Routes.MapHttpRoute("API Default", "api/v1/{controller}/{id}",
            new { id = RouteParameter.Optional });

        var appXmlType = configuration.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");
        configuration.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
        **configuration.Formatters.Insert(0, new JsonpMediaTypeFormatter();**
    }

最初のものはタイプ mediatypeformatter のようですが、私にはあまり意味がありません。私は試した:

configuration.Formatters.Insert(0, new JsonpMediaTypeFormatter(new JsonMediaTypeFormatter(),"jsonp"));

これは、jsonp という関数で応答を正しくラップしますが、標準の json 応答も壊します。

何か案は?

4

2 に答える 2