SinkProviderData Clase

Definición

Almacena los datos de proveedores de receptores para los proveedores de receptores.

C#
public class SinkProviderData
C#
[System.Runtime.InteropServices.ComVisible(true)]
public class SinkProviderData
Herencia
SinkProviderData
Atributos

Ejemplos

C#
public class MySinkProviderData : IServerChannelSinkProvider
{
    private IServerChannelSinkProvider myIServerChannelSinkProviderNew;

    private bool myAcceptMode = true;
    private ICollection myCollectionData = null;

    public MySinkProviderData()
    {
    }

    public MySinkProviderData(IDictionary properties, ICollection providerData)
    {
        String myMode = (String)properties["mode"];
        if (String.Compare(myMode, "accept", true) == 0)
            myAcceptMode = true;
        else
            if (String.Compare(myMode, "reject", true) == 0)
            myAcceptMode = false;
        myCollectionData = providerData;
    }

    public void GetChannelData(IChannelDataStore myLocalChannelData)
    {
    }
    
    public IServerChannelSink CreateSink(IChannelReceiver myChannel)
    {
        IServerChannelSink myIServerChannelSink_nextSink = null;
        if (myIServerChannelSinkProviderNew != null)
            myIServerChannelSink_nextSink = myIServerChannelSinkProviderNew.CreateSink(myChannel);
        MyIPFilterChannelSink mySink = new MyIPFilterChannelSink(myAcceptMode,
            myIServerChannelSink_nextSink);
        // Create and initialize a new ArrayList.
        ArrayList myArrayList = new ArrayList();

        // Add filters.
        foreach (SinkProviderData mySinkData in myCollectionData)
        {
            // The SinkProviderData properties are added to the ArrayList.
            myArrayList.Add(mySinkData.Children);
            myArrayList.Add(mySinkData.Name);

            String myMaskString = (String)mySinkData.Properties["mask"];
            String myIPString = (String)mySinkData.Properties["ip"];
            String myMachineString = (String)mySinkData.Properties["machine"];

            IPAddress mask = null;
            IPAddress ip = null;

            if (myIPString != null)
            {
                mask = IPAddress.Parse(myMaskString);
                ip = IPAddress.Parse(myIPString);
            }
            else
            {
                mask = IPAddress.Parse("255.255.255.255");
                ip = Dns.Resolve(myMachineString).AddressList[0];
            }

            mySink.AddFilter(mask, ip);
        }
        Console.WriteLine("The Count of the ArrayList is  :"+ myArrayList.Count);
        Console.WriteLine("The values in the SinkProviderData collection are:");

        // Call the PrintValues function to enumerate and print values to the console.
        PrintValues( myArrayList );

        return mySink;
    }

    public IServerChannelSinkProvider Next
    {
        get
        {
            return myIServerChannelSinkProviderNew;
        }
        set
        {
            myIServerChannelSinkProviderNew = value;
        }
    }

    public FilterMode Mode
    {
        get
        {
            return (myAcceptMode ? FilterMode.Accept : FilterMode.Reject);
        }
        set
        {
            myAcceptMode = (value == FilterMode.Accept);
        }
    }

    public static void PrintValues( IEnumerable myList )
    {
        IEnumerator myEnumerator = myList.GetEnumerator();
        while ( myEnumerator.MoveNext() )
            Console.Write( "\t{0}", myEnumerator.Current );
        Console.WriteLine();
    }
} // class MySinkProviderData

Comentarios

Los datos del proveedor de receptores son una estructura de árbol de información de configuración almacenada en los <provider> nodos de configuración elemento (plantilla). Todos los proveedores receptores deben tener un constructor que acepte una IDictionary de propiedades y una ICollection de estas estructuras si quieren usarse desde un archivo de configuración.

Constructores

SinkProviderData(String)

Inicializa una nueva instancia de la clase SinkProviderData.

Propiedades

Children

Obtiene una lista de los nodos SinkProviderData secundarios.

Name

Obtiene el nombre del proveedor de receptores al que están asociados los datos del objeto SinkProviderData actual.

Properties

Obtiene un diccionario a través del cual se puede obtener acceso a las propiedades del proveedor de receptores.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8