私は正しい用語が何であるかを100%確信していません。WCFがlongまたはintをシリアル化できないのはなぜですか?
私はInParamsという名前のクラスを2つのフィールド、文字列とロング、およびフィールドに対応するプロパティアクセサで構成しています。これらはそれぞれ[DataContract]と[DataMember]で装飾されています。
私がvoidテスト(InParams inParams)と呼ばれるWCFサービスメソッドを持っている
サービスメソッドは、長いフィールドを実行しているがとき、プロキシはsvcutilで罰金生成され、私は長いフィールドを設定することができた常に0です私は明示的に長いフィールドを設定しています。私は石鹸の封筒を見て、私の長いフィールドのためのタグが表示されません。
ロングフィールドを文字列フィールドに変更すると、シリアル化されます。 intの場合も同様です。
属性が不足していますか?
生成されたプロキシクラスにNameOfYourLongFieldSpecifiedというブール値プロパティがありますか? –
私は上記と同じ問題があります。デシリアライゼーションは、既存のASP.NET WebフォームアプリケーションにWebAPIフレームワークを追加するまでうまくいきました。 APIメソッドは、サービスレイヤにあるWCFメソッドを内部的に呼び出します。アプリケーションの他の部分は、データ検索のためのWCFメソッドを呼び出し、多くのプリミティブ型を持っています。 WebAPIフレームワークが追加されると、デシリアライズに失敗しました(TraceViewerでリクエストをトレースし、パラメータのデフォルト値は0でした)。 WebAPIフレームワークを削除し、すべて正常に戻りました。誰もそのような問題に直面した? –
@Kwan Cheng。問題の解決策を見つけましたか?何も私のために働くようではなく、WCF RESTフレームワーク(webHttpBinding)を使用して私のニーズに合うようにしなければなりませんでした。 –