問題タブ [servicecontract]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - WCFでは、エンドポイントごとに異なるmexHttpBindingが可能ですか?
次のように、WCF ライブラリに 3 つのサービス コントラクト インターフェイスがあります。
また、ServiceContract3 を実装するサービスもあります。次のように、それぞれに異なるコントラクトを設定することで、異なるエンドポイントを持つことができます。
これらのエンドポイントは非常にうまく機能しているように見えますが、mexHttpBinding
自動的に生成されるエンドポイントは 1 つだけです。したがって、クライアントはエンドポイントの 1 つを使用する必要がありますが、サービス参照を追加した後はクラス全体が含まれます。
mexHttpBinding
コントラクトごとに異なるエンドポイントを持つことはできますか? 私が従うことができるアプローチはありますか?ご協力いただきありがとうございます。
編集 #1: ServiceModel 構成
コンソール アプリケーションでホストされているサービスは 1 つだけです。
wcf - WCF のサービス コントラクトとは何ですか?
WCF のサービス コントラクトとは正確には何ですか? それが何であるかの明確な定義を見つけることができないようです。それが何であるかを定義するリンクがあれば、それは素晴らしいことです。
c# - WCF プロキシ オブジェクトがグローバルな静的オブジェクトにアクセスできないのはなぜですか?
私の WCF サービスには、グローバル静的変数を使用する必要がある OperationContract メソッド (getMyObject()) があります... WCF 操作がグローバル変数が null であるというエラーを常にスローするのはなぜですか?
- 別のデバッガーを使用して WCF サービス ホストをステップ実行しましたが、グローバル変数が null ではないことがわかっています。- しかし、クライアントには null に見えます!
要求しているクライアント:
サービスホスト:
ServiceContract インターフェース:
ServiceContract オブジェクト:
MyObject:
ありがとう!
c# - System.ServiceModel.Channels.Message 型のパラメーターまたは戻り値の型、または
すべて、WCF サービスのロード中に次のエラーが発生します。System.ServiceModel.Channels.Message 型のパラメーターまたは戻り値の型、または MessageContractAttribute と異なる型の他のパラメーターを持つ型があるため、操作 'GetEffort' を読み込むことができませんでした。System.ServiceModel.Channels.Message または MessageContractAttribute を持つ型を使用する場合、メソッドは他の型のパラメーターを使用してはなりません。
サービス契約はこちら
何が起こっているのかわかりません。メッセージ コントラクトが一致しないという同様の投稿が表示されます。しかし、ここでは Message 型そのものを返しています。
c# - 後で WCF サービス契約を変更するための最善のガイダンスが必要
私は新しいですが、wcf に関する記事を読んでいると、ServcieContrcat
を変更すると、サービス側だけでなくクライアント側も変更する必要があり、管理が非常に難しいことがわかりました。
開発者は、次の関数を使用して、注文処理用の WCF サービスを作成する必要があります。GetOrderById, GetOrdersByStatus, SaveOrder
ServiceContract は次のようになります。
たとえば、数か月後、プロジェクト マネージャーは次のように言いますDeleteOrderById, GetOrdersByCustomerId
。GetOrdersByStatus
GetOrdersByStatusAndCustomerId
開発者は、ServiceContrcat
クライアントを更新して更新する必要があります。ご覧のとおり、変更ServiceContrcat
は非常に困難です。
そのため、機能を拡張したり、何らかの変更を加えたりしても問題を引き起こさないwcfサービスを開発するための最良のガイダンスを探していますが、クライアントエンドは問題に直面しません。ありがとう
一人の男が同じ状況で前に答えた
これは私がやったことです: 私の 30 以上の関数 (およびリストはどんどん大きくなります) はすべて、入力パラメーターと出力パラメーターの両方として、データ型として文字列、int、bytes() を取り、マスターの単一のエンドポイントと受信する関数を作成しました。入力パラメータであり、単一の単純なクラスを出力として送り返します。HostInterface と呼ばれるこのクラスには、文字列 (すべての文字列と int をカプセル化するために使用) と byte() 配列 (すべてのバイナリを詰め込む) の 2 つのパラメーターのみが含まれます。
そのため、クライアントが 1 つの文字列パラメーターだけで Ping() のような単純なものを呼び出している場合でも、ResumeDownload() のように 5 つの文字列、2 つの int と 1 つのバイト配列を使用して複雑なものを呼び出している場合でも、これらのパラメーターはすべて HostInterface クラス (文字列) にカプセル化されます。 int を 1 つの String パラメータ (XML として) に変換し、バイトを byte フィールドに変換します。
彼の答えに感謝しますが、それを実装する方法が本当にわかりません。誰かがこのURLにアクセスすると、クライアントに影響を与えないWCFサービス契約を変更する方法は?
それから彼が言ったことを知っています。
後でサービス コントラクトの機能を拡張した場合に、サービスを利用するクライアントが問題に直面しないように、サービス コントラクトを設計する方法を視覚化するのに役立つ小さな完全な wcf サービス コードを探しています。
この状況を解決するための他の可能なガイドラインを教えてください。ありがとう
wcf - DataContractAttribute.Namespace プロパティの形式は何ですか?
この MSDN の記事では、常に ServiceContract と DataContract に名前空間を提供することをお勧めしています。
例には通常、「スキーマ」プレフィックスと、次のような名前空間の URI タイプ パターンがあります。
Namespace="urn:WCFEssentials/Samples/2008/12"
のようなドット表記の従来の C# 名前空間の代わりに
Namespace="MyNamespace.MyDataClasses"
名前空間プロパティの推奨形式は何ですか? スキーマ接頭辞は必要ですか? なぜこの形式が推奨されるのですか?
c# - サービス コントラクト インターフェイスなしの WCF が可能
asmxサービスをwcfに簡単に変換する方法を知るためにGoogleを検索していたところ、人々が次のようなコードを書いているのを見ました
これは私の古い asmx サービスです
wcfに変換
変換するときに見たのですが、人々はサービス契約インターフェイスを使用していません。wcfサービスを開発するとき、単一のサービスに対して1つのサービス契約インターフェイスを作成する必要があることを知っているため、どのように機能するか。サービス契約インターフェイスなしで wcf サービスを開発する方法についての議論を探しています。ありがとう