2011-10-29 25 views
0

いくつかの方法でWCFサービスを作成します:これらの方法の1つは、他のノードへの転送の最大半径を設定するためにバイトタイプのTTL 。 IPパケットにはTTLフィールドがあるので、同じターゲットに到達するためにWCFを使用してこのフィールドを設定することは可能ですか?WCFを使用してメッセージにTTLを指定する

ありがとうございます!

答えて

1

通常のソケット通信のために、あなたがこれでそれを行うことができます:私はあなたが同じ方法でそれを制御することができますかわからないWCFのための

Socket.Ttl Property

、MSMQバインディングのためのTimeToLiveプロパティがありIUS TimeSpanとして結合が、IPレベルでのTTLを変更することと同じではありません、ここを参照してください:WCF/MSMQ "time-to-be-received has elapsed" dead letter queue issue

私はわからないんだけど、あなたがあなた自身のWCFバインディングを書いて、根本的に自分の価値にプッシュすることができることができれば、最初のリンクIのようにソケット上記の... .NET 4.0では

0

WCFでUdpDiscoveryEndpointが1にそのデフォルトのTimeToLiveプロパティを持っています.NET 4.5で

new UdpDiscoveryEndpoint().TransportSettings.TimeToLive 

それはUdpTransportBindingElementで廃止と置き換えられました。

new UdpTransportBindingElement().TimeToLive 
0

かなり遅く答えましたが、私たちは最近同じ問題に直面しました。 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; 
      } 
     } 
関連する問題