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
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; }
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; }