-1

私はwcfサービスの初心者です。知識を得るために今でも本を読んでいます。私の会社は市内に多くのオフィスを持っていますが、本社は 1 つです。私の会社には 1 つの静的 IP があります。私の会社は、インターネット経由で静的 IP によって到達できる HQ サーバーで wcf サービスをホストすることを計画しており、他のオフィスは VPN によって相互に接続されています。私たちの会社は、本社のすべての PC と他のオフィスのすべての PC の間で会社のデータを処理するために使用する wcf サービスを開発することを望んでいます。また、外部の人がそのwcfサービスに接続できるようになります。

会社は、だれかが本社オフィスから当社のサービスに接続しようとすると、そのサービスに接続するために本社 LAN が使用されることを望んでいます。

他のオフィスからサービスに接続しようとすると、WAN または VPN 接続が使用されます。

他の場所や自宅からサービスに接続しようとすると、インターネット経由で接続されます。

私はWCFが初めてなので、静的IPを持つ本社サーバーでホストされるWCFでこの種のサービスを設計する方法を考えることができません。

ですから、コーディングやさまざまなバインディングを指定する構成ファイルに必要な微調整があるかどうかを教えてください。

サービス構成ファイルでさまざまなバインディングを指定する必要があると思います。LAN、VPN、およびインターネット経由で要求できるサービス終了用の構成ファイルを設計または作成する方法を教えてください。可能であれば、サービス終了用の構成ファイルのサンプル コピーをください。ありがとう

4

4 に答える 4

1

LAN 対 WAN 対 VPN は、WCF のネットワーク レベルが低すぎます。たとえば、basicHttpBinding を使用し、静的 IP を持つ HQ のサーバーで実行される IIS で WCF サービスをホストすると仮定すると、インターネット ユーザーは外部 IP (静的 IP) またはドメイン名 (存在する場合) を使用してサービスにアクセスできます。 1であります。イントラネット (LAN、WAN など) の場合、ユーザーは内部 IP を使用できます。これは、ネットワーク内からサーバーに ping を実行することで取得できます。繰り返しますが、WCF が消費されるコンピューターと WCF サービスが実行されるコンピューター間のパスがファイアウォールなどを通過しないと仮定すると、netTcp バインディングを使用できます。これは、パフォーマンスがわずかに向上する可能性がありますが、組織に多くの赤がある場合は問題に値しません。間にファイアウォールがある場合は、ポートなどを開くためのテープ。通常、80 と 443 はブロックされません。

于 2013-06-18T14:05:09.183 に答える
0

あなたの質問は少し「tl;dr」で自由回答ですが、 WCF エンドポイントの「ABC」 (アドレス、バインディング、コントラクト) を学ぶことをお勧めしますか? 1 つのサービス エンドポイントに HTTP と TCP の両方を使用する場合は、両方のバインディング タイプを同じエンドポイントに構成できます。

記事から:

これらの 3 つの要素は独立していることに注意することが重要です。コントラクトは多くのバインディングをサポートでき、バインディングは多くのコントラクトをサポートできます。サービスには、共存して同時に使用できる多くのエンドポイント (アドレスにバインドされたコントラクト) を含めることができます。したがって、相互運用性を最大限に高めるために HTTP を介してサービスを公開し、SOAP 1.1 を使用し、パフォーマンスを最大化するためにバイナリ ワイヤ エンコーディングを使用して TCP を介してサービスを公開する場合、結果として得られる 2 つのエンドポイントは、まったく同じサービス。

于 2013-06-18T14:04:39.547 に答える