Freigeben über


Codeausschnitt: Implementieren von "SpecificFinder"

Letzte Änderung: Montag, 19. April 2010

Gilt für: SharePoint Server 2010

Inhalt dieses Artikels
Beispiel für eine .NET-Verbindungsassembly
Beispiel für einen ASP.NET-Webdienst
Beispiel für einen WCF-Dienst
Weitere Codebeispiele

Die folgenden Codebeispiele illustrieren die Implementierung einer Instanz der SpecificFinder-Methode in einer .NET-Verbindungsassembly und in einem Webdienst.

Beispiel für eine .NET-Verbindungsassembly

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

Beispiel für einen ASP.NET-Webdienst

[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");
}

Beispiel für einen WCF-Dienst

Der folgende Code verdeutlicht die Vorgangsdefinition auf der Dienstvertrags-Benutzeroberfläche.

[OperationContract]
Customer GetCustomerByID(string id);

Im folgenden Beispiel wird die Implementierung der Methodeninstanz gezeigt.

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

Weitere Codebeispiele

  1. Externes System – Datenbank/SQL Server

    Beispiel: Für die Entität Contact in einer Microsoft SQL Server-Datenbank könnte die SpecificFinder-Methode ungefähr folgendermaßen aussehen.

    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. Externes System – Flatfile

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

Siehe auch

Konzepte

Implementieren eines SpecificFinders