私のasmxファイルには、
[WebMethod]
[ScriptMethod]
public void Method(IDictionary<string, CustomClass> objectOfCustomClass)
{
//do stuff
}
カスタムクラスは次のように定義されます。
public class CustomClass
{
public string Prop1 { get; set; }
public string Prop2 { get; set; }
}
すべてがうまくいき、WebサービスはJqueryajaxメソッドから正常に消費されています。最近、 http://localhost/Services.asmx/Methodなどの直接URLからテストしてアクセスすることにしました。
そして私はこのメッセージを受け取ります
「インターフェースSystem.Collections.Generic.IDictionaryをシリアル化できません」
これはオフのようです。何が原因で、正常ですか?私は混乱しています-それは物事を行うためのクリーンな方法のようですが、Microsoftによれば、それは行われるべきではありません、それでもそれはWebサービスに直接アクセスするときだけではありません。何が得られますか?また、一部のMSサイトで、IDictionaryをパラメーターとしてWebサービスに渡すことができないが、正常に機能していることを読みました...それで、実行できるかどうかはわかりませんか?誰かがこれを完全に明確にすることができますか?