Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
tarafından Mike Wasson
Önceki öğreticide CRUD işlemlerini destekleyen temel bir OData hizmeti oluşturdunuz. Şimdi hizmet için bir istemci oluşturalım.
Yeni bir Visual Studio örneği başlatın ve yeni bir konsol uygulaması projesi oluşturun. Yeni Proje iletişim kutusunda Yüklü>Şablonlar>Visual C#>Windows Masaüstü'nü ve ardından Konsol Uygulaması şablonunu seçin. Projeyi "ProductsApp" olarak adlandırın.
Not
Konsol uygulamasını, OData hizmetini içeren Visual Studio çözümüne de ekleyebilirsiniz.
OData İstemci Kod Oluşturucu'nu yükleme
Araçlar menüsünde Uzantılar ve Güncelleştirmeler'yi seçin. Çevrimiçi>Visual Studio Galerisi'ne tıklayın. Arama kutusunda "OData İstemci Kodu Oluşturucu" araması yapın. VSIX'i yüklemek için İndir'e tıklayın. Visual Studio'yu yeniden başlatmanız istenebilir.
OData Hizmetini Yerel Olarak Çalıştırma
Visual Studio'dan ProductService projesini çalıştırın. Varsayılan olarak, Visual Studio uygulama köküne bir tarayıcı başlatır. URI'yi not edin; bir sonraki adımda buna ihtiyacınız olacak. Uygulamayı çalışır durumda bırakın.
Not
Her iki projeyi de aynı çözüme yerleştirirseniz, ProductService projesini hata ayıklamadan çalıştırdığınızdan emin olun. Sonraki adımda, konsol uygulaması projesini değiştirirken hizmeti çalışır durumda tutmanız gerekir.
Hizmet Ara Sunucusunu Oluşturma
Hizmet ara sunucusu, OData hizmetine erişme yöntemlerini tanımlayan bir .NET sınıfıdır. Proxy, yöntem çağrılarını HTTP isteklerine çevirir. Bir T4 şablonu çalıştırarak proxy sınıfını oluşturacaksınız.
Projeye sağ tıklayın. Yeni Öğe Ekle'yi> seçin.
Yeni Öğe Ekle iletişim kutusunda Visual C# Öğe>Kodu>OData İstemcisi'ni seçin. Şablonu "ProductClient.tt" olarak adlandırın. Ekle'ye tıklayın ve güvenlik uyarısına tıklayın.
Bu noktada, yoksayabileceğiniz bir hata alırsınız. Visual Studio şablonu otomatik olarak çalıştırır, ancak önce bazı yapılandırma ayarları gerekir.
Dosya ProductClient.odata.config açın. öğesinde Parameter
ProductService projesinden (önceki adım) URI'yi yapıştırın. Örnek:
<Parameter Name="MetadataDocumentUri" Value="http://localhost:61635/" />
Şablonu yeniden çalıştırın. Çözüm Gezgini'da ProductClient.tt dosyasına sağ tıklayın ve Özel Aracı Çalıştır'ı seçin.
Şablon, ara sunucuyu tanımlayan ProductClient.cs adlı bir kod dosyası oluşturur. Uygulamanızı geliştirirken OData uç noktasını değiştirirseniz, proxy'yi güncelleştirmek için şablonu yeniden çalıştırın.
OData Hizmetini Çağırmak için Hizmet Ara Sunucusunu Kullanma
Program.cs dosyasını açın ve ortak kodu aşağıdakilerle değiştirin.
using System;
namespace ProductsApp
{
class Program
{
// Get an entire entity set.
static void ListAllProducts(Default.Container container)
{
foreach (var p in container.Products)
{
Console.WriteLine("{0} {1} {2}", p.Name, p.Price, p.Category);
}
}
static void AddProduct(Default.Container container, ProductService.Models.Product product)
{
container.AddToProducts(product);
var serviceResponse = container.SaveChanges();
foreach (var operationResponse in serviceResponse)
{
Console.WriteLine("Response: {0}", operationResponse.StatusCode);
}
}
static void Main(string[] args)
{
// TODO: Replace with your local URI.
string serviceUri = "http://localhost:port/";
var container = new Default.Container(new Uri(serviceUri));
var product = new ProductService.Models.Product()
{
Name = "Yo-yo",
Category = "Toys",
Price = 4.95M
};
AddProduct(container, product);
ListAllProducts(container);
}
}
}
serviceUri değerini önceki hizmet URI'siyle değiştirin.
// TODO: Replace with your local URI.
string serviceUri = "http://localhost:port/";
Uygulamayı çalıştırdığınızda aşağıdaki çıkışı vermelidir:
Response: 201
Yo-yo 4.95 Toys