この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 16868|答える: 0

[WCF/ウェブサービックス] 「xxx」という操作はパラメータやretu...があるため読み込めませんでした。

[リンクをコピー]
掲載地 2016/07/20 10:59:59 | | |
操作「xxx」は、System.ServiceModel.Channels.Messageのパラメータまたは返却タイプ、またはMessageContractAttributeなどのパラメータを持つタイプを持つため、読み込みできませんでした さまざまな種類の。 System.ServiceModel.Channels.MessageやMessageContractAttributeを持つ型を使用する場合、メソッドは他のパラメータを使わないようにしてはなりません。

WCFでファイルをアップロードするインターフェースを作成し、アップロード結果を返したいと思います。インターフェースは以下の通りです:



この時点で、実行は次のように書かれればエラーを報告します。



実行中にもエラーが報告されます!!!

先ほども言いましたが、デュプレックスとはやり取りがありますよね? はい、上記の方法は入力パラメータと返り値があり、出入りがあり、デュプレックスなので、なぜダメなのでしょうか?

はは、問題はメッセージプロトコルを使うことです。この前提のもとでは、メッセージプロトコルメソッドで簡単に定義できないのです。もし以下の場合:

a. メッセージコントラクトが入ってくるパラメータとして使われた場合、パラメータは1つしか存在せず、以下の定義は誤りです。

無効照合(BankingTransaction bt1、BankingTransaction bt2);

b. voidを返さない限り、メッセージ契約を返さなければなりません。Bool UpLoadFile(TransferFileMessage tMsg)私たちの定義は明らかに要件を満たしていません。

では、どうやって解決すればいいのでしょうか? リターン用の別のメッセージコントラクトを定義する必要があります。


大まかに言うと、boolやstringなどはリターン値として使えません。voidのリターンなし値タイプは設定できます。

しかし、もしリターンバリューがあるとしたらどうなるのか気になります???? 解は以下の通りです:









先の:WCFエラー:413 エンティティのリクエストが大きすぎる
次に:WCF実装ファイルのアップロードにはデモダウンロード用の返品があります
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com