Compartilhar via


Propriedade SyncSession.SyncParameters

Obtém ou define SyncParameterCollection de objetos SyncParameter. Esses objetos estão disponíveis no servidor como variáveis de sessão.

Namespace: Microsoft.Synchronization.Data
Assembly: Microsoft.Synchronization.Data (em microsoft.synchronization.data.dll)

Sintaxe

'Declaração
<XmlElementAttribute("CustomParameters")> _
<SuppressMessageAttribute("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")> _
Public Property SyncParameters As SyncParameterCollection
'Uso
Dim instance As SyncSession
Dim value As SyncParameterCollection

value = instance.SyncParameters

instance.SyncParameters = value
[XmlElementAttribute("CustomParameters")] 
[SuppressMessageAttribute("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
public SyncParameterCollection SyncParameters { get; set; }
[XmlElementAttribute(L"CustomParameters")] 
[SuppressMessageAttribute(L"Microsoft.Usage", L"CA2227:CollectionPropertiesShouldBeReadOnly")] 
public:
property SyncParameterCollection^ SyncParameters {
    SyncParameterCollection^ get ();
    void set (SyncParameterCollection^ value);
}
/** @property */
public SyncParameterCollection get_SyncParameters ()

/** @property */
public void set_SyncParameters (SyncParameterCollection value)
public function get SyncParameters () : SyncParameterCollection

public function set SyncParameters (value : SyncParameterCollection)

Valor da propriedade

SyncParameterCollection de objetos SyncParameter.

Comentários

Normalmente são usados parâmetros de sincronização para passar informações de filtragem para o agente de sincronização. Esses parâmetros são então usados em comandos para o adaptador de sincronização.

Exemplo

O exemplo de código a seguir é de uma classe derivada de SyncAgent. Esse código cria um objeto SyncParameter que especifica um valor para o parâmetro @SalesPerson. Em um aplicativo, esse valor pode ser proveniente de uma ID de logon ou de outra entrada de usuário. Para exibir código no contexto de um exemplo completo, consulte Como filtrar linhas e colunas.

this.Configuration.SyncParameters.Add(
    new SyncParameter("@SalesPerson", "Brenda Diaz"));
Me.Configuration.SyncParameters.Add(New SyncParameter("@SalesPerson", "Brenda Diaz"))

O exemplo de código a seguir é de uma classe derivada de DbServerSyncProvider. Esse código especifica quais colunas e linhas inseridas devem ser baixadas para a tabela Customer. Você pode codificar um valor para SalesPerson. No entanto, é mais comum usar um parâmetro que tenha um valor que possa ser alterado, como mostra o exemplo. O exemplo passa o parâmetro de filtragem junto com os outros parâmetros necessários para baixar inserções incrementais.

SqlCommand customerIncrInserts = new SqlCommand();
customerIncrInserts.CommandText =
    "SELECT CustomerId, CustomerName, CustomerType " +
    "FROM Sales.Customer " +
    "WHERE SalesPerson = @SalesPerson " +
    "AND (InsertTimestamp > @sync_last_received_anchor " +
    "AND InsertTimestamp <= @sync_new_received_anchor " +
    "AND InsertId <> @sync_client_id)";
customerIncrInserts.Parameters.Add("@SalesPerson", SqlDbType.NVarChar);
customerIncrInserts.Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp);
customerIncrInserts.Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp);
customerIncrInserts.Parameters.Add("@" + SyncSession.SyncClientId, SqlDbType.UniqueIdentifier);
customerIncrInserts.Connection = serverConn;
customerSyncAdapter.SelectIncrementalInsertsCommand = customerIncrInserts;
Dim customerIncrInserts As New SqlCommand()
With customerIncrInserts
    .CommandText = _
        "SELECT CustomerId, CustomerName, CustomerType " _
      & "FROM Sales.Customer " _
      & "WHERE SalesPerson = @SalesPerson " _
      & "AND (InsertTimestamp > @sync_last_received_anchor " _
      & "AND InsertTimestamp <= @sync_new_received_anchor " _
      & "AND InsertId <> @sync_client_id)"
    .Parameters.Add("@SalesPerson", SqlDbType.NVarChar)
    .Parameters.Add("@" + SyncSession.SyncLastReceivedAnchor, SqlDbType.Timestamp)
    .Parameters.Add("@" + SyncSession.SyncNewReceivedAnchor, SqlDbType.Timestamp)
    .Parameters.Add("@" + SyncSession.SyncClientId, SqlDbType.UniqueIdentifier)
    .Connection = serverConn
End With
customerSyncAdapter.SelectIncrementalInsertsCommand = customerIncrInserts

Consulte também

Referência

Classe SyncSession
Membros SyncSession
Namespace Microsoft.Synchronization.Data