自己ホスト型の WCF サービスと、UDP マルチキャスト検出を使用してサービス エンドポイントを見つけるクライアントがあります。ローカル マシンでテストしたので、検出と Web メソッド呼び出しの両方が正しく機能しました。LAN で実行しようとすると、ディスカバリーでエンドポイントが見つかりません。
両方のマシンが互いに ping を実行し、さらに明示的に指定されたエンドポイントを使用して、クライアントがサービス メソッドを正常に呼び出します。メッセージレベルのセキュリティに関するいくつかの議論に出くわしたので、次のように無効にするためのいくつかの措置を講じました。
[ServiceContract(ProtectionLevel = ProtectionLevel.None)]
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
と
new BasicHttpBinding(BasicHttpBindingSecurityMode.None)
今、私はアイデアを使い果たし、グーグルは実りある結果をもたらしません. そして、ほとんどのコード サンプルは、これがいかに簡単であるかを示しているだけであり、セキュリティの側面を完全に無視しています。
クロスマシン検出が機能しない理由について何か提案はありますか?