Partager via


Extrait de code : Implémentation d’un SpecificFinder

Dernière modification : lundi 19 avril 2010

S’applique à : SharePoint Server 2010

Dans cet article
Exemple pour un assembly de connectivité .NET
Exemple pour un service Web ASP.NET
Exemple pour un service WCF
Exemples de code supplémentaires

Les exemples de code suivants montrent comment implémenter une instance de méthode SpecificFinder dans un assembly de connectivité .NET et dans un service Web.

Exemple pour un assembly de connectivité .NET

public Customer GetCustomerByID(String id)
{
    foreach (Customer customer in customers)
    {
        if (customer.CustomerID.Equals(id) && !customer.IsDeleted)
        {
            return customer;
        }
    }

    throw new ArgumentOutOfRangeException("id", "Customer not found");
}   

Exemple pour un service Web ASP.NET

[WebMethod]
public Customer GetCustomerByID(String id)
{
    foreach (Customer customer in customers)
    {
        if (customer.CustomerID.Equals(id) && !customer.IsDeleted)
        {
            return customer;
        }
    }

    throw new ArgumentOutOfRangeException("id", "Customer not found");
}

Exemple pour un service WCF

Le code suivant illustre la définition d’opération dans l’interface de contrat de service.

[OperationContract]
Customer GetCustomerByID(string id);

L’exemple suivant illustre l’implémentation de l’instance de méthode.

public Customer GetCustomerByID(String id)
{
    foreach (Customer customer in customers)
    {
        if (customer.CustomerID.Equals(id) && !customer.IsDeleted)
        {
            return customer;
        }
    }

    throw new ArgumentOutOfRangeException("id", "Customer not found");
}

Exemples de code supplémentaires

  1. Système externe—Base de données/SQL Server

    Par exemple, pour l’entité Contact dans une base de données Microsoft SQL Server, la méthode SpecificFinder peut ressembler à ce qui suit.

    public static Contact ReadItem(int contactID)
    {
        const string ServerName = "MySQLServerName";
        AdventureWorksDataContext dataContext = new AdventureWorksDataContext
              ("Data Source=" + ServerName + ";" +
               "Initial Catalog=AdventureWorks;Integrated Security=True");
    
        Contact Contact =
            (from contacts in dataContext.Contacts.AsEnumerable()
             where contacts.ContactID == contactID
             select contacts).Single();
        return Contact;
    }
    
  2. Système externe—Fichier plat

    public static IEnumerable<FlatFileEntity> ReadList()
    {
        List<FlatFileEntity> flatFileEntityList = new List<FlatFileEntity>();
        TextReader textReader = 
            new StreamReader(@"c:\data\flat-file-data-source.txt");
        string row;
    
        while ((row = textReader.ReadLine()) != null)
        {
            FlatFileEntity flatFileEntity = new FlatFileEntity();
    
            string[] entityData = row.Split(',');
    
            flatFileEntity.ID = entityData[0];
            flatFileEntity.Company = entityData[1];
            flatFileEntity.FirstName = entityData[2];
            flatFileEntity.LastName = entityData[3];
            flatFileEntity.Address = entityData[4];
            flatFileEntity.City = entityData[5];
            flatFileEntity.State = entityData[6];
            flatFileEntity.ZipCode = entityData[7];
            flatFileEntity.Phone = entityData[8];
            flatFileEntity.LastUpdated = DateTime.Parse(entityData[9]);
            flatFileEntityList.Add(flatFileEntity);
        }
    
        textReader.Close();
    
        foreach (FlatFileEntity entity in flatFileEntityList)
        {
            if (entity.ID == id)
                return entity;
        }
        return null;
    }
    

Voir aussi

Concepts

Implémentation de SpecificFinder