UdpAnnouncementEndpointElement.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.ComponentModel;
  3. using System.Configuration;
  4. using System.ServiceModel.Configuration;
  5. using System.ServiceModel.Description;
  6. namespace System.ServiceModel.Discovery.Configuration
  7. {
  8. public class UdpAnnouncementEndpointElement : AnnouncementEndpointElement
  9. {
  10. static ConfigurationPropertyCollection properties;
  11. static ConfigurationProperty max_announcement_delay, multicast_address, transport_settings;
  12. static UdpAnnouncementEndpointElement ()
  13. {
  14. max_announcement_delay = new ConfigurationProperty ("maxAnnouncementDelay", typeof (TimeSpan), "00:00:00.500", new TimeSpanConverter (), null, ConfigurationPropertyOptions.None);
  15. multicast_address = new ConfigurationProperty ("multicastAddress", typeof (Uri), "soap.udp://239.255.255.250:3702", new UriTypeConverter (), null, ConfigurationPropertyOptions.None);
  16. transport_settings = new ConfigurationProperty ("transportSettings", typeof (UdpTransportSettingsElement), null, null, null, ConfigurationPropertyOptions.None);
  17. properties = new ConfigurationPropertyCollection ();
  18. properties.Add (max_announcement_delay);
  19. properties.Add (multicast_address);
  20. properties.Add (transport_settings);
  21. }
  22. public UdpAnnouncementEndpointElement ()
  23. {
  24. }
  25. protected override Type EndpointType {
  26. get { return typeof (UdpAnnouncementEndpoint); }
  27. }
  28. [TypeConverter (typeof (TimeSpanConverter))]
  29. [ConfigurationPropertyAttribute("maxAnnouncementDelay", DefaultValue = "00:00:00.500")]
  30. public TimeSpan MaxAnnouncementDelay {
  31. get { return (TimeSpan) base [max_announcement_delay]; }
  32. set { base [max_announcement_delay] = value; }
  33. }
  34. [TypeConverter (typeof (UriTypeConverter))]
  35. [ConfigurationPropertyAttribute("multicastAddress", DefaultValue = "soap.udp://239.255.255.250:3702")]
  36. public Uri MulticastAddress {
  37. get { return (Uri) base [multicast_address]; }
  38. set { base [multicast_address] = value; }
  39. }
  40. [ConfigurationPropertyAttribute("transportSettings")]
  41. public UdpTransportSettingsElement TransportSettings {
  42. get { return (UdpTransportSettingsElement) base [transport_settings]; }
  43. }
  44. }
  45. }