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.
Visual Studio'nun yeni bir örneğini 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.
Uyarı
Konsol uygulamasını, OData hizmetini içeren aynı 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'i 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; sonraki adımda buna ihtiyacınız olacaktır. Uygulamayı çalışır durumda bırakın.
Uyarı
Her iki projeyi de aynı çözüme koyarsanız, hata ayıklamadan ProductService projesini ç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. Ekle>Yeni Öğe 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, görmezden gelebileceğiniz bir hata mesajı alırsınız. Visual Studio şablonu otomatik olarak çalıştırır, ancak önce bazı yapılandırma ayarları gerekir.
dosyasını ProductClient.odata.configaçın. öğesinde Parameter , ProductService projesinden (önceki adım) URI'yi yapıştırın. Örneğin:
<Parameter Name="MetadataDocumentUri" Value="http://localhost:61635/" />
Şablonu yeniden çalıştırın. Çözüm Gezgini'nde 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 şablon kodunu aşağıdaki kodla 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ışları vermelidir:
Response: 201
Yo-yo 4.95 Toys