SOや他の場所で調べましたが、私の中ではまだわかりません。場合。4つの入力パラメータと3つの出力パラメータを持つWCFサービスは、プロキシクラスプロジェクトのサービス参照の追加によって並べ替えられます。
私が持っている私の作業VStudio 2010ソリューションのリファクタリングだ:プロキシクラスの別の独立したプロジェクト(によって生成されたものを除き、ここにはコードがWebを追加ASMXのWebサービス
- 一つのプロジェクトをクライアントのための別の独立したプロジェクトは、( ProxyClass.dll
新しいVStudio 2010ソリューションを持っている:
- 1単独では契約の種類WCFサービスライブラリのプロジェクト(IFileService.cs)契約の実装のための型のWCFサービスライブラリの 一つのプロジェクト(FileService.cs)
- プロキシクラスの別の独立したプロジェクト(によって生成されたものを除き、ここにいないコードは、クライアントのための別の独立したプロジェクトは、(WCFProxへの参照が含まれているサービス参照
- を追加します。 yClass.dll)
ここでは)パラメータ(およびその実装うち3で終わる契約が同じ順序である:ここでは
[ServiceContract(Name = "IFileService", Namespace = "http://www.cbmiweb.com/TrimWCF/2011/11")]
public interface IFileService
{
[OperationContract]
public string DownloadFile(string trimURL
, string TrimRecordNumber
, string CallerPC
, string RequestorID
, out byte[] docContents
, out string returnFiletype
, out string returnFilename)
{
は、サービス参照が私のプロキシクラスで生成された追加ものですプロジェクト:
public string DownloadFile(
out byte[] docContents
, out string returnFiletype
, out string returnFilename
, string trimURL
, string TrimRecordNumber
, string CallerPC
, string RequestorID)
{
return base.Channel.DownloadFile(out docContents, out returnFiletype, out returnFilename, trimURL, TrimRecordNumber, CallerPC, RequestorID);
}
私は「あなたがサービス参照の追加]を使用すべきではありませんが、代わりにsvcutil.exeを使用」に「あなたはWCFでPARMSを使用することはできません」「パラメータの順序は重要ではありませんするに至るまでの回答を読んだことがあります...そうなる まだ仕事 "。
私はここで何をすべきかについて混乱しています(そして、この再配置された注文につながったのは間違っていますし、なぜ起こったのか)。
参照を使用してサービスを呼び出すとどうなりますか? – Maess