いくつかの方法でWCFサービスを作成します:これらの方法の1つは、他のノードへの転送の最大半径を設定するためにバイトタイプのTTL 。 IPパケットにはTTLフィールドがあるので、同じターゲットに到達するためにWCFを使用してこのフィールドを設定することは可能ですか?WCFを使用してメッセージにTTLを指定する
ありがとうございます!
いくつかの方法でWCFサービスを作成します:これらの方法の1つは、他のノードへの転送の最大半径を設定するためにバイトタイプのTTL 。 IPパケットにはTTLフィールドがあるので、同じターゲットに到達するためにWCFを使用してこのフィールドを設定することは可能ですか?WCFを使用してメッセージにTTLを指定する
ありがとうございます!
通常のソケット通信のために、あなたがこれでそれを行うことができます:私はあなたが同じ方法でそれを制御することができますかわからないWCFのための
、MSMQバインディングのためのTimeToLive
プロパティがありIUS TimeSpan
として結合が、IP
レベルでのTTLを変更することと同じではありません、ここを参照してください:WCF/MSMQ "time-to-be-received has elapsed" dead letter queue issue
私はわからないんだけど、あなたがあなた自身のWCFバインディングを書いて、根本的に自分の価値にプッシュすることができることができれば、最初のリンクIのようにソケット上記の... .NET 4.0では
WCFでUdpDiscoveryEndpointが1にそのデフォルトのTimeToLiveプロパティを持っています.NET 4.5で
new UdpDiscoveryEndpoint().TransportSettings.TimeToLive
それはUdpTransportBindingElementで廃止と置き換えられました。
new UdpTransportBindingElement().TimeToLive
かなり遅く答えましたが、私たちは最近同じ問題に直面しました。 TransportSettingsが廃止とマークされていることを前提として、次の操作を行いました。 var udpDiscoveryEndpoint = new UdpDiscoveryEndpoint();
var customBinding = udpDiscoveryEndpoint.Binding as CustomBinding;
if (customBinding != null)
{
TransportBindingElement transportBindingElement = customBinding.Elements.Find<TransportBindingElement>();
if (transportBindingElement is UdpTransportBindingElement)
{
(transportBindingElement as UdpTransportBindingElement).TimeToLive = configuration.DiscoveryTtl;
}
}