Aracılığıyla paylaş


Uygulamalı Laboratuvar: Tek ASP.NET: ASP.NET Web Forms, MVC ve Web API’sini Tümleştirme

Web Camps Ekibi tarafından

Web Camps Eğitim Setini indirin

ASP.NET, MVC, Web API ve diğerleri gibi özel teknolojileri kullanarak Web siteleri, uygulamalar ve hizmetler oluşturmaya yönelik bir çerçevedir. Genişleme ASP.NET kuruluşundan bu yana görülen ve bu teknolojilerin tümleştirilmesi gerektiği ifade edildikten sonra , One ASP.NET için son zamanlarda çalışmalar yapılmıştır.

Visual Studio 2013, bir uygulama oluşturmanıza ve tüm ASP.NET teknolojilerini tek bir projede kullanmanıza olanak tanıyan yeni bir birleşik proje sistemi sağlar. Bu özellik, projenin başlangıcında bir teknoloji seçme ve bu teknolojiye bağlı kalma gereksinimini ortadan kaldırır ve bunun yerine tek bir projede birden çok ASP.NET çerçevesinin kullanılmasını teşvik eder.

Tüm örnek kod ve kod parçacıkları adresinde bulunan Web Camps Eğitim Seti'ne https://aka.ms/webcamps-training-kitdahildir.

Genel Bakış

Hedefler

Bu uygulamalı laboratuvarda şunların nasıl yapılacağını öğreneceksiniz:

  • One ASP.NET proje türünü temel alan bir Web sitesi oluşturma
  • Aynı projede MVC ve Web API gibi farklı ASP.NET çerçeveleri kullanma
  • ASP.NET uygulamasının ana bileşenlerini belirleme
  • Model sınıflarınızı temel alarak CRUD işlemlerini gerçekleştirmek üzere otomatik olarak Denetleyiciler ve Görünümler oluşturmak için ASP.NET yapı iskelesi çerçevesinden yararlanın
  • Her iş için doğru aracı kullanarak makine ve insan tarafından okunabilir biçimlerde aynı bilgi kümesini kullanıma sunma

Önkoşullar

Bu uygulamalı laboratuvarı tamamlamak için aşağıdakiler gereklidir:

Kurulum

Alıştırmaları bu uygulamalı laboratuvarda çalıştırmak için önce ortamınızı ayarlamanız gerekir.

  1. Windows Gezgini'ni açın ve laboratuvarın Kaynak klasörüne göz atın.
  2. Setup.cmd'ye sağ tıklayıp Yönetici olarak çalıştır'ı seçerek ortamınızı yapılandıracak kurulum işlemini başlatın ve bu laboratuvar için Visual Studio kod parçacıklarını yükleyin.
  3. Kullanıcı Hesabı Denetimi iletişim kutusu gösteriliyorsa, devam etmek için eylemi onaylayın.

Not

Kurulumu çalıştırmadan önce bu laboratuvar için tüm bağımlılıkları denetlediğinizden emin olun.

Kod Parçacıklarını Kullanma

Laboratuvar belgesinin tamamında kod blokları eklemeniz istenir. Size kolaylık olması için, bu kodun çoğu el ile eklemek zorunda kalmamak için Visual Studio 2013 içinden erişebileceğiniz Visual Studio Code Kod Parçacıkları olarak sağlanır.

Not

Her alıştırmaya, alıştırmanın Begin klasöründe bulunan ve her alıştırmayı diğerlerinden bağımsız olarak izlemenizi sağlayan bir başlangıç çözümü eşlik eder. Alıştırma sırasında eklenen kod parçacıklarının bu başlangıç çözümlerinde eksik olduğunu ve siz alıştırmayı tamamlayana kadar çalışmayabileceğini unutmayın. Bir alıştırmanın kaynak kodunun içinde, ilgili alıştırmadaki adımların tamamlanmasıyla sonuçlanacak kodu içeren visual studio çözümünü içeren bir End klasörü de bulacaksınız. Bu uygulamalı laboratuvarda çalışırken ek yardıma ihtiyacınız varsa bu çözümleri rehberlik olarak kullanabilirsiniz.


Egzersiz

Bu uygulamalı laboratuvar aşağıdaki alıştırmaları içerir:

  1. Yeni Web Forms Projesi Oluşturma
  2. İskele Kullanarak MVC Denetleyicisi Oluşturma
  3. İskele Kullanarak Web API Denetleyicisi Oluşturma

Bu laboratuvarın tamamlanması için tahmini süre: 60 dakika

Not

Visual Studio'yu ilk kez başlattığınızda, önceden tanımlanmış ayarlar koleksiyonlarından birini seçmeniz gerekir. Önceden tanımlanmış her koleksiyon belirli bir geliştirme stiliyle eşleşecek şekilde tasarlanmıştır ve pencere düzenlerini, düzenleyici davranışını, IntelliSense kod parçacıklarını ve iletişim kutusu seçeneklerini belirler. Bu laboratuvardaki yordamlar, Genel Geliştirme Ayarları koleksiyonunu kullanırken Visual Studio'da belirli bir görevi gerçekleştirmek için gereken eylemleri açıklar. Geliştirme ortamınız için farklı bir ayar koleksiyonu seçerseniz, dikkate almanız gereken adımlarda farklılıklar olabilir.

Alıştırma 1: Yeni Web Forms Projesi Oluşturma

Bu alıştırmada One ASP.NET birleşik proje deneyimini kullanarak Visual Studio 2013'de Web Forms, MVC ve Web API bileşenlerini aynı uygulamada kolayca tümleştirmenizi sağlayacak yeni bir Web Forms sitesi oluşturacaksınız. Ardından oluşturulan çözümü keşfedip parçalarını tanımlayacak ve son olarak Web sitesini iş başında göreceksiniz.

Görev 1 – Tek ASP.NET Deneyimi Kullanarak Yeni Site Oluşturma

Bu görevde , One ASP.NET proje türüne göre Visual Studio'da yeni bir Web sitesi oluşturmaya başlayacaksınız. Bir ASP.NET tüm ASP.NET teknolojilerini bir araya getirir ve bunları istediğiniz gibi karıştırma ve eşleştirme seçeneği sunar. Ardından uygulamanızın içinde yan yana bulunan Web Forms, MVC ve Web API'sinin farklı bileşenlerini tanıyacaksınız.

  1. Web için Visual Studio Express 2013'i açın ve Dosya | öğesini seçin Yeni Proje... yeni bir çözüm başlatmak için.

    Yeni Proje Oluşturma

    Yeni Proje Oluşturma

  2. Yeni Proje iletişim kutusunda, Visual C# | altında ASP.NET Web Uygulaması'nı seçin Web sekmesine gidin ve .NET Framework 4.5'in seçili olduğundan emin olun. Projeyi MyHybridSite olarak adlandırın, bir Konum seçin ve Tamam'a tıklayın.

    Yeni ASP.NET Web Uygulaması projesi

    Yeni ASP.NET Web Uygulaması projesi oluşturma

  3. Yeni ASP.NET Projesi iletişim kutusunda Web Forms şablonunu ve ardından MVC ve Web API seçeneklerini belirleyin. Ayrıca, Kimlik Doğrulama seçeneğinin Tek Tek Kullanıcı Hesapları olarak ayarlandığından emin olun. Devam etmek için Tamam’ tıklayın.

    Web API'si ve MVC bileşenleri dahil olmak üzere Web Forms şablonuyla yeni proje oluşturma

    Web API'si ve MVC bileşenleri dahil olmak üzere Web Forms şablonuyla yeni proje oluşturma

  4. Artık oluşturulan çözümün yapısını keşfedebilirsiniz.

    Oluşturulan çözümü keşfetme

    Oluşturulan çözümü keşfetme

    1. Hesabı: Bu klasör, uygulamanın kullanıcı hesaplarını kaydetmek, oturum açmak ve yönetmek için Web Formu sayfalarını içerir. Bu klasör, Web Forms proje şablonunun yapılandırması sırasında Bireysel Kullanıcı Hesapları kimlik doğrulaması seçeneği belirlendiğinde eklenir.
    2. Model: Bu klasör, uygulama verilerinizi temsil eden sınıfları içerir.
    3. Denetleyiciler ve Görünümler: Bu klasörler ASP.NET MVC ve ASP.NET Web API bileşenleri için gereklidir. Sonraki alıştırmalarda MVC ve Web API teknolojilerini keşfedeceksiniz.
    4. Default.aspx, Contact.aspx ve About.aspx dosyaları, uygulamanıza özgü sayfaları oluşturmak için başlangıç noktası olarak kullanabileceğiniz önceden tanımlanmış Web Formu sayfalarıdır. Bu dosyaların programlama mantığı, ".aspx.vb" veya ".aspx.cs" uzantısına (kullanılan dile bağlı olarak) sahip "arka planda kod" dosyası olarak adlandırılan ayrı bir dosyada bulunur. Arka planda kod mantığı sunucuda çalışır ve sayfanız için HTML çıkışını dinamik olarak üretir.
    5. Site.Master ve Site.Mobile.Master sayfaları, uygulamadaki tüm sayfaların genel görünümünü ve standart davranışını tanımlar.
  5. Sayfanın içeriğini keşfetmek için Default.aspx dosyasına çift tıklayın.

    Default.aspx sayfasını keşfetme

    Default.aspx sayfasını keşfetme

    Not

    Dosyanın en üstündeki Page yönergesi, Web Forms sayfasının özniteliklerini tanımlar. Örneğin, MasterPageFile özniteliği ana sayfanın yolunu belirtir -bu durumda, Site.Master sayfası- ve Inherits özniteliği, sayfanın devralınacak arkadaki kod sınıfını tanımlar. Bu sınıf, CodeBehind özniteliği tarafından belirlenen dosyada bulunur.

    asp:Content denetimi, sayfanın gerçek içeriğini (metin, işaretleme ve denetimler) tutar ve ana sayfadaki asp:ContentPlaceHolder denetimine eşlenir. Bu durumda, sayfa içeriği Site.Master sayfasında tanımlanan MainContent denetiminin içinde işlenir.

  6. App_Start klasörünü genişletin ve WebApiConfig.cs dosyasına dikkat edin. Projenizi One ASP.NET şablonuyla yapılandırırken Web API'sini dahil ettiğiniz için Visual Studio bu dosyayı oluşturulan çözüme dahil etti.

  7. WebApiConfig.cs dosyasını açın. WebApiConfig sınıfında, HTTP yollarını Web API denetleyicilerine eşleyen Web API'si ile ilişkili yapılandırmayı bulacaksınız.

    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services
    
        // Web API routes
        config.MapHttpAttributeRoutes();
    
        config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
    }
    
  8. RouteConfig.cs dosyasını açın. RegisterRoutes yönteminin içinde, HTTP yollarını MVC denetleyicilerine eşleyen MVC ile ilişkili yapılandırmayı bulacaksınız.

    public static void RegisterRoutes(RouteCollection routes)
    {
        var settings = new FriendlyUrlSettings();
        settings.AutoRedirectMode = RedirectMode.Permanent;
        routes.EnableFriendlyUrls(settings);
    
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
        routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { action = "Index", id = UrlParameter.Optional }
            );
    }
    

Görev 2 – Çözümü Çalıştırma

Bu görevde oluşturulan çözümü çalıştıracak, uygulamayı ve URL yeniden yazma ve yerleşik kimlik doğrulaması gibi bazı özelliklerini keşfedebilirsiniz.

  1. Çözümü çalıştırmak için F5 tuşuna basın veya araç çubuğunda bulunan Başlat düğmesine tıklayın. Uygulamanın giriş sayfası tarayıcıda açılmalıdır.

    Çözümü çalıştırma

  2. Web Forms sayfalarının çağrıldığı doğrulayın. Bunu yapmak için adres çubuğundaki URL'ye /contact.aspx ekleyin ve Enter tuşuna basın.

    Kolay URL’ler

    Kolay URL’ler

    Not

    Gördüğünüz gibi, URL /contact olarak değişir. ASP.NET 4'ten başlayarak, url yönlendirme özellikleri Web Forms eklendi, böylece yerine http://www.mysite.com/products.aspx?category=softwaregibi http://www.mysite.com/products/software URL'ler yazabilirsiniz. Daha fazla bilgi için bkz. URL Yönlendirme.

  3. Şimdi uygulamayla tümleştirilmiş kimlik doğrulama akışını keşfedeceksiniz. Bunu yapmak için sayfanın sağ üst köşesindeki Kaydet'e tıklayın.

    Yeni kullanıcı kaydetme

    Yeni kullanıcı kaydetme

  4. Kaydol sayfasında, bir Kullanıcı adı ve Parola girin ve Kaydet'e tıklayın.

    Kayıt sayfası

    Kayıt sayfası

  5. Uygulama yeni hesabı kaydeder ve kullanıcının kimliği doğrulanır.

    Kullanıcının kimliği doğrulandı

    Kullanıcının kimliği doğrulandı

  6. Visual Studio'ya Geri dön ve hata ayıklamayı durdurmak için SHIFT + F5 tuşlarına basın.

Alıştırma 2: İskele Kullanarak MVC Denetleyicisi Oluşturma

Bu alıştırmada, tek bir kod satırı yazmadan CRUD işlemlerini gerçekleştirmek için eylemler ve Razor görünümleri ile ASP.NET bir MVC 5 denetleyicisi oluşturmak için Visual Studio tarafından sağlanan ASP.NET yapı iskelesi çerçevesinden yararlanacaksınız. yapı iskelesi işlemi, SQL veritabanında veri bağlamını ve veritabanı şemasını oluşturmak için Entity Framework Code First kullanır.

Entity Framework Code First hakkında

Entity Framework (EF), doğrudan bir ilişkisel depolama şeması kullanarak programlamak yerine kavramsal bir uygulama modeliyle programlama yaparak veri erişimi uygulamaları oluşturmanızı sağlayan nesne ilişkisel eşleyicidir (ORM).

Entity Framework Code First modelleme iş akışı, sorgulama, değişiklik izleme ve güncelleştirme işlevlerini gerçekleştirirken EF'nin kullandığı modeli temsil etmek için kendi etki alanı sınıflarınızı kullanmanıza olanak tanır. Code First geliştirme iş akışını kullanarak veritabanı oluşturarak veya şema belirterek uygulamanızı başlatmanız gerekmez. Bunun yerine, uygulamanız için en uygun etki alanı modeli nesnelerini tanımlayan standart .NET sınıfları yazabilirsiniz ve Entity Framework veritabanını sizin için oluşturur.

Not

Entity Framework hakkında daha fazla bilgiyi burada bulabilirsiniz.

Görev 1 – Yeni Model Oluşturma

Şimdi MVC denetleyicisini ve görünümleri oluşturmak için iskele oluşturma işlemi tarafından kullanılan model olacak bir Person sınıfı tanımlayacaksınız. İlk olarak bir Kişi modeli sınıfı oluşturacaksınız ve denetleyicideki CRUD işlemleri yapı iskelesi özellikleri kullanılarak otomatik olarak oluşturulur.

  1. Source/Ex2-MvcScaffolding/Begin klasöründe bulunan Web için Visual Studio Express 2013 ve MyHybridSite.sln çözümünü açın. Alternatif olarak, önceki alıştırmada edindiğiniz çözümle devam edebilirsiniz.

  2. Çözüm Gezgini'daMyHybridSite projesinin Models klasörüne sağ tıklayın ve Ekle | Sınıf... öğesini seçin.

    Person model sınıfını ekleme

    Person model sınıfını ekleme

  3. Yeni Öğe Ekle iletişim kutusunda dosyayı Person.cs olarak adlandırın ve Ekle'ye tıklayın.

    Person model sınıfını oluşturma

    Person model sınıfını oluşturma

  4. Person.cs dosyasının içeriğini aşağıdaki kodla değiştirin. Değişiklikleri kaydetmek için CTRL + S tuşlarına basın.

    (Kod Parçacığı - BringingTogetherOneAspNet - Ex2 - PersonClass)

    namespace MyHybridSite.Models
    {
        public class Person
        {
            public int Id { get; set; }
    
            public string Name { get; set; }
    
            public int Age { get; set; }
        }
    }
    
  5. Çözüm Gezgini'daMyHybridSite projesine sağ tıklayın ve Oluştur'u seçin veya projeyi oluşturmak için CTRL + SHIFT + B tuşlarına basın.

Görev 2 – MVC Denetleyicisi Oluşturma

Kişi modeli oluşturulduğuna göre, Personiçin CRUD denetleyicisi eylemlerini ve görünümlerini oluşturmak için Entity Framework ile ASP.NET MVC iskelesini kullanacaksınız.

  1. Çözüm GezginiMyHybridSite projesinin Controllers klasörüne sağ tıklayın ve Ekle | öğesini seçin Yeni yapı iskelesi oluşturulmuş öğe....

    Çözüm Gezgini'da Yeni İskeleli Öğe'yi seçerek MVC Denetleyicisi oluşturmayı gösteren ekran görüntüsü.

    Yeni yapı iskelesi oluşturulmuş denetleyici oluşturma

  2. yapı iskelesi ekle iletişim kutusunda, Entity Framework kullanarak görünümlere sahip MVC 5 Denetleyicisi'ni seçin ve ekle'ye tıklayın.

    Görünümlere ve Entity Framework'e sahip MVC 5 Denetleyicisi'ni seçme

    Görünümlere ve Entity Framework'e sahip MVC 5 Denetleyicisi'ni seçme

  3. Denetleyici adı olarak MvcPersonController'ı ayarlayın, Zaman uyumsuz denetleyici eylemlerini kullan seçeneğini belirleyin ve Model sınıfı olarak Kişi (MyHybridSite.Models) öğesini seçin.

    yapı iskelesi ile MVC denetleyicisi ekleme

    yapı iskelesi ile MVC denetleyicisi ekleme

  4. Veri bağlamı sınıfı'nın altında Yeni veri bağlamı... öğesine tıklayın.

    Yeni veri bağlamı oluşturma

    Yeni veri bağlamı oluşturma

  5. Yeni Veri Bağlamı iletişim kutusunda yeni veri bağlamını PersonContext olarak adlandırın ve Ekle'ye tıklayın.

    Yeni PersonContext oluşturma

    Yeni PersonContext türünü oluşturma

  6. Yapı iskelesi olan kişi için yeni denetleyici oluşturmak için Ekle'ye tıklayın. Visual Studio daha sonra denetleyici eylemlerini, Kişi veri bağlamını ve Razor görünümlerini oluşturur.

    yapı iskelesi ile MVC denetleyicisini oluşturduktan sonra

    yapı iskelesi ile MVC denetleyicisini oluşturduktan sonra

  7. Controllers klasöründe MvcPersonController.cs dosyasını açın. CRUD eylem yöntemlerinin otomatik olarak oluşturulduğuna dikkat edin.

    ...
    
    // POST: /MvcPerson/Create
    // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
    // more details see https://go.microsoft.com/fwlink/?LinkId=317598.
    [HttpPost]
    [ValidateAntiForgeryToken]
    public async Task<ActionResult> Create([Bind(Include="Id,Name,Age")] Person person)
    {
         if (ModelState.IsValid)
         {
              db.People.Add(person);
              await db.SaveChangesAsync();
              return RedirectToAction("Index");
         }
    
         return View(person);
    }
    
    // GET: /MvcPerson/Edit/5
    public async Task<ActionResult> Edit(int? id)
    {
         if (id == null)
         {
              return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
         }
         Person person = await db.People.FindAsync(id);
         if (person == null)
         {
              return HttpNotFound();
         }
         return View(person);
    }
    
    ...
    

    Not

    Önceki adımlardaki yapı iskelesi seçeneklerinden Zaman uyumsuz denetleyici eylemlerini kullan onay kutusunu seçerek Visual Studio, Kişi veri bağlamı erişimi içeren tüm eylemler için zaman uyumsuz eylem yöntemleri oluşturur. İstek işlenirken Web sunucusunun iş yapmasını engellememek için, uzun süre çalışan, CPU'ya bağlı olmayan istekler için zaman uyumsuz eylem yöntemleri kullanmanız önerilir.

Görev 3 – Çözümü Çalıştırma

Bu görevde, Kişi görünümlerinin beklendiği gibi çalıştığını doğrulamak için çözümü yeniden çalıştıracaksınız. Veritabanına başarıyla kaydedildiğini doğrulamak için yeni bir kişi ekleyebilirsiniz.

  1. Çözümü çalıştırmak için F5 tuşuna basın.

  2. /MvcPerson konumuna gidin. Kişi listesini gösteren yapı iskelesi görünümü görünmelidir.

  3. Yeni kişi eklemek için Yeni Oluştur'a tıklayın.

    İskeleli MVC görünümlerine gitmek

    İskeleli MVC görünümlerine gitmek

  4. Oluştur görünümünde, kişi için bir Ad ve Yaş belirtin ve Oluştur'a tıklayın.

    Yeni kişi ekleme

    Yeni kişi ekleme

  5. Yeni kişi listeye eklenir. Öğe listesinde Ayrıntılar'a tıklayarak kişinin ayrıntılar görünümünü görüntüleyin. Ardından , Ayrıntılar görünümünde Listeye Dön'e tıklayarak liste görünümüne geri dönün.

    Kişinin ayrıntılar görünümü

    Kişinin ayrıntılar görünümü

  6. Kişiyi silmek için Sil bağlantısına tıklayın. Sil görünümünde Sil'e tıklayarak işlemi onaylayın.

    Bir kişiyi silme

    Bir kişiyi silme

  7. Visual Studio'ya Geri dön ve hata ayıklamayı durdurmak için SHIFT + F5 tuşlarına basın.

Alıştırma 3: İskele Kullanarak Web API Denetleyicisi Oluşturma

Web API çerçevesi, ASP.NET Yığınının bir parçasıdır ve RESTful API aracılığıyla JSON veya XML biçimli verileri göndermeyi ve almayı kolaylaştıracak şekilde tasarlanmıştır.

Bu alıştırmada, bir Web API denetleyicisi oluşturmak için ASP.NET İskelesi'ni yeniden kullanacaksınız. Aynı kişi verilerini JSON biçiminde sağlamak için önceki alıştırmadaki aynı Person ve PersonContext sınıflarını kullanacaksınız. Aynı kaynakları aynı ASP.NET uygulamasında farklı şekillerde nasıl kullanıma çıkarabileceğinizi göreceksiniz.

Görev 1 – Web API Denetleyicisi Oluşturma

Bu görevde, kişi verilerini JSON gibi makine tarafından tüketilebilen bir biçimde kullanıma sunan yeni bir Web API Denetleyicisi oluşturacaksınız.

  1. Henüz açılmadıysa, Web için Visual Studio Express 2013'i açın ve Source/Ex3-WebAPI/Begin klasöründe bulunan MyHybridSite.sln çözümünü açın. Alternatif olarak, önceki alıştırmada elde ettiğiniz çözümle devam edebilirsiniz.

    Not

    Alıştırma 3'ten Başlangıç çözümüyle başlarsanız, çözümü derlemek için CTRL + SHIFT + B tuşlarına basın.

  2. Çözüm Gezgini'daMyHybridSite projesinin Controllers klasörüne sağ tıklayın ve Ekle | öğesini seçin Yeni İskeleli Öğe....

    Çözüm Gezgini'da Yeni İskeleli Öğe'yi seçerek Web API Denetleyicisi oluşturmayı gösteren ekran görüntüsü.

    Yeni bir yapı iskelesi denetleyicisi oluşturma

  3. İskele Ekle iletişim kutusunda, sol bölmede Web API'sini, ardından orta bölmede Entity Framework kullanarak eylemleri olan Web API 2 Denetleyicisi'ni seçin ve ekle'ye tıklayın.

    Eylemler içeren Web API 2 Denetleyicisini seçme ve Entity Framework

    Eylemler ve Entity Framework ile Web API 2 Denetleyicisi seçme

  4. ApiPersonController'ıDenetleyici adı olarak ayarlayın, Zaman uyumsuz denetleyici eylemleri kullan seçeneğini belirleyin ve sırasıyla Model ve Veri bağlam sınıfları olarak Kişi (MyHybridSite.Models) ve PersonContext (MyHybridSite.Models) öğesini seçin. Daha sonra Ekle'ye tıklayın.

    yapı iskelesi ile Web API Denetleyicisi Ekleme yapı iskelesi

    yapı iskelesi ile Web API denetleyicisi ekleme

  5. Ardından Visual Studio, verilerinizle çalışmak için dört CRUD eylemiyle ApiPersonController sınıfını oluşturur.

    Yapı iskelesi ile Web API denetleyicisini oluşturduktan sonra yapı iskelesi

    Yapı iskelesi ile Web API denetleyicisini oluşturduktan sonra

  6. ApiPersonController.cs dosyasını açın ve GetPeople eylem yöntemini inceleyin. Bu yöntem, kişi verilerini almak için PersonContext türünün veritabanı alanını sorgular.

    // GET api/ApiPerson
    public IQueryable<Person> GetPeople()
    {
        return db.People;
    }
    
  7. Şimdi yöntem tanımının üzerindeki açıklamaya dikkat edin. Sonraki görevde kullanacağınız bu eylemi kullanıma sunan URI'yi sağlar.

    // GET api/ApiPerson
    public IQueryable<Person> GetPeople()
    {
        return db.People;
    }
    

    Not

    Varsayılan olarak, Web API'si MVC denetleyicileriyle çakışmaları önlemek için /api yolundaki sorguları yakalayacak şekilde yapılandırılır. Bu ayarı değiştirmeniz gerekiyorsa ASP.NET Web API'sinde yönlendirme konusuna bakın.

Görev 2 – Çözümü Çalıştırma

Bu görevde, Web API denetleyicisinden gelen tam yanıtı incelemek için Internet Explorer F12 geliştirici araçlarını kullanacaksınız. Uygulama verileriniz hakkında daha fazla içgörü elde etmek için ağ trafiğini nasıl yakalayabileceğinizi göreceksiniz.

Not

Visual Studio araç çubuğundaki Başlangıç düğmesinde Internet Explorer'ın seçili olduğundan emin olun.

Internet Explorer seçeneği

F12 geliştirici araçları, bu uygulamalı laboratuvarda ele alınmayan çok çeşitli işlevlere sahiptir. Bu konuda daha fazla bilgi edinmek istiyorsanız F12 geliştirici araçlarını kullanma bölümüne bakın.

  1. Çözümü çalıştırmak için F5 tuşuna basın.

    Not

    Bu görevi doğru bir şekilde izlemek için uygulamanızın verileri olması gerekir. Veritabanınız boşsa, Alıştırma 2'de Görev 3'e geri dönebilir ve MVC görünümlerini kullanarak yeni bir kişi oluşturma adımlarını izleyebilirsiniz.

  2. Tarayıcıda, Geliştirici Araçları panelini açmak için F12 tuşuna basın. Ağ trafiğini yakalamaya başlamak için CTRL + 4 tuşuna basın veya simgesine tıklayın ve ardından yeşil ok düğmesine tıklayın.

    Web API ağ yakalamayı başlatma

    Web API'sinde ağ yakalamayı başlatma

  3. Tarayıcının adres çubuğundaki URL'ye api/ApiPerson ekleyin. Şimdi ApiPersonController'dan gelen yanıtın ayrıntılarını inceleyebilirsiniz.

    Web API aracılığıyla kişi verilerini alma Web

    Web API'si aracılığıyla kişi verilerini alma

    Not

    İndirme işlemi tamamlandıktan sonra, indirilen dosyayla bir işlem yapmanız istenir. Geliştirici Aracı penceresi aracılığıyla yanıt içeriğini watch için iletişim kutusunu açık bırakın.

  4. Şimdi yanıtın gövdesini inceleyeceksiniz. Bunu yapmak için Ayrıntılar sekmesine ve ardından Yanıt gövdesi'ne tıklayın. İndirilen verilerin, Person sınıfına karşılık gelen Kimlik, Ad ve Yaş özelliklerine sahip nesnelerin listesi olup olmadığını kontrol edebilirsiniz.

    Web API Yanıt Gövdesini

    Web API Yanıt Gövdesini Görüntüleme

Görev 3 – Web API'si Yardım Sayfaları Ekleme

Web API'sini oluşturduğunuzda, diğer geliştiricilerin API'nizi nasıl çağıracaklarını bilmesi için bir yardım sayfası oluşturmak yararlı olur. Belge sayfalarını el ile oluşturabilir ve güncelleştirebilirsiniz, ancak bakım işi yapmak zorunda kalmamak için bunları otomatik olarak oluşturmak daha iyidir. Bu görevde, çözüme otomatik olarak Web API'si yardım sayfaları oluşturmak için bir Nuget paketi kullanacaksınız.

  1. Visual Studio'daki Araçlar menüsünde NuGet Paket Yöneticisi'ni seçin ve ardından Paket Yöneticisi Konsolu'na tıklayın.

  2. Paket Yöneticisi Konsolu penceresinde aşağıdaki komutu yürütebilirsiniz:

    Install-Package Microsoft.AspNet.WebApi.HelpPage
    

    Not

    Microsoft.AspNet.WebApi.HelpPage paketi gerekli derlemeleri yükler ve Alanlar/YardımSayfası klasörünün altındaki yardım sayfaları için MVC Görünümleri ekler.

    HelpPage Alanı

    HelpPage Alanı

  3. Varsayılan olarak, yardım sayfalarında belgeler için yer tutucu dizeler bulunur. Belgeleri oluşturmak için XML belge açıklamalarını kullanabilirsiniz. Bu özelliği etkinleştirmek için, Alanlar/HelpPage/App_Start klasöründe bulunan HelpPageConfig.cs dosyasını açın ve aşağıdaki satırın açıklamasını kaldırın:

    config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml")));
    
  4. Çözüm Gezgini'daMyHybridSite projesine sağ tıklayın, Özellikler'i seçin ve Oluştur sekmesine tıklayın.

    Derleme sekmesi

    Derleme sekmesi

  5. Çıktı'nın altında XML belge dosyası'yı seçin. Düzenleme kutusuna App_Data/XmlDocument.xmlyazın.

    Derleme sekmesinin Çıkış bölümü Derleme sekmesindeki

    Derleme sekmesinde çıkış bölümü

  6. Değişiklikleri kaydetmek için CTRL + S tuşuna basın.

  7. Controllers klasöründen ApiPersonController.cs dosyasını açın.

  8. GetPeople yöntemi imzası ile // GET api/ApiPerson açıklaması arasında yeni bir satır girin ve üç eğik çizgi yazın.

    Not

    Visual Studio, yöntem belgelerini tanımlayan XML öğelerini otomatik olarak ekler.

  9. GetPeople yöntemi için bir özet metin ve dönüş değeri ekleyin. Aşağıdaki gibi görünmelidir.

    // GET api/ApiPerson
    /// <summary>
    /// Documentation for 'GET' method
    /// </summary>
    /// <returns>Returns a list of people in the requested format</returns>
    public IQueryable<Person> GetPeople()
    {
        return db.People;
    }
    
  10. Çözümü çalıştırmak için F5 tuşuna basın.

  11. Yardım sayfasına göz atmak için adres çubuğundaki URL'ye / help ekleyin.

    ASP.NET Web API'si Yardım Sayfası

    ASP.NET Web API'si Yardım Sayfası

    Not

    Sayfanın ana içeriği, denetleyiciye göre gruplandırılmış bir API tablosudur. Tablo girişleri, IApiExplorer arabirimi kullanılarak dinamik olarak oluşturulur. API denetleyicisi ekler veya güncelleştirirseniz, uygulamayı bir sonraki derlemede tablo otomatik olarak güncelleştirilir.

    API sütununda HTTP yöntemi ve göreli URI listelenir. Açıklama sütunu, yöntemin belgelerinden ayıklanmış bilgileri içerir.

  12. Yöntem tanımının üzerine eklediğiniz açıklamanın açıklama sütununda görüntülendiğini unutmayın.

    API yöntemi açıklaması

    API yöntemi açıklaması

  13. Örnek yanıt gövdeleri de dahil olmak üzere daha ayrıntılı bilgilerin bulunduğu bir sayfaya gitmek için API yöntemlerinden birine tıklayın.

    Ayrıntı Bilgileri sayfası

    Ayrıntılı bilgi sayfası


Özet

Bu uygulamalı laboratuvarı tamamlayarak aşağıdakilerin nasıl yapılacağını öğrendiniz:

  • Visual Studio 2013'da One ASP.NET Deneyimi'ni kullanarak yeni bir Web uygulaması oluşturma
  • Birden çok ASP.NET teknolojisini tek bir projede tümleştirme
  • ASP.NET İskelesini kullanarak model sınıflarınızdan MVC denetleyicileri ve görünümleri oluşturma
  • Entity Framework aracılığıyla Zaman Uyumsuz Programlama ve veri erişimi gibi özellikleri kullanan Web API denetleyicileri oluşturma
  • Denetleyicileriniz için Web API Yardım Sayfalarını otomatik olarak oluşturma