Aracılığıyla paylaş


Visual Studio kullanarak Web Dağıtımı ASP.NET: Üretime Dağıtma

tarafından Tom Dykstra

Başlangıç Projelerini İndir

Bu öğretici serisi, Visual Studio 2012 veya Visual Studio 2010 kullanarak bir ASP.NET web uygulamasını Azure App Service Web Apps veya üçüncü taraf barındırma sağlayıcısına dağıtmayı (yayımlamayı) gösterir. Seri hakkında bilgi için serideki ilk öğreticiye bakın.

Genel Bakış

Bu öğreticide, Visual Studio tek tıklamayla yayımlama özelliğini kullanarak bir Microsoft Azure hesabı ayarlayacak, hazırlama ve üretim ortamları oluşturacak ve ASP.NET web uygulamanızı hazırlama ve üretim ortamlarına dağıtacaksınız.

İsterseniz üçüncü taraf barındırma sağlayıcısına dağıtabilirsiniz. Bu öğreticide açıklanan yordamların çoğu, her sağlayıcının hesap ve web sitesi yönetimi için kendi kullanıcı arabirimine sahip olması dışında bir barındırma sağlayıcısı veya Azure için aynıdır. Microsoft.com web sitesindeki sağlayıcı galerisinde bir barındırma sağlayıcısı bulabilirsiniz.

Anımsatıcı: Öğreticide ilerlerken bir hata iletisi alırsanız veya bir şey çalışmıyorsa, bu öğretici serisindeki Sorun Giderme sayfasını kontrol edin.

Microsoft Azure hesabı alma

Henüz bir Azure hesabınız yoksa, yalnızca birkaç dakika içinde ücretsiz bir deneme hesabı oluşturabilirsiniz. Ayrıntılı bilgi için bkz. Azure Ücretsiz Deneme Sürümü.

Hazırlama ortamı oluşturma

Not

Bu öğretici yazıldığı için Azure App Service hazırlama ve üretim ortamları oluşturmaya yönelik birçok işlemi otomatikleştirmek için yeni bir özellik ekledi. Bkz. Azure App Service'de web uygulamaları için hazırlama ortamlarını ayarlama.

Test Ortamına Dağıtma öğreticisinde açıklandığı gibi, en güvenilir test ortamı, barındırma sağlayıcısındaki üretim web sitesi gibi bir web sitesidir. Birçok barındırma sağlayıcısında bunun avantajlarını önemli ek maliyetlere karşı değerlendirmeniz gerekir, ancak Azure'da hazırlama uygulamanız olarak ek bir ücretsiz web uygulaması oluşturabilirsiniz. Ayrıca bir veritabanına da ihtiyacınız vardır ve bunun için üretim veritabanınızın harcaması üzerinden yapılacak ek harcamalar yok veya en az düzeyde olacaktır. Azure'da her veritabanı yerine kullandığınız veritabanı depolama alanı miktarı için ödeme yaparsınız ve hazırlamada kullanacağınız ek depolama alanı miktarı minimum düzeyde olur.

Test Ortamına Dağıtma öğreticisinde açıklandığı gibi, hazırlama ve üretimde iki veritabanınızı tek bir veritabanına dağıtacaksınız. Bunları ayrı tutmak isterseniz, her ortam için ek bir veritabanı oluşturmanız ve yayımlama profilini oluştururken her veritabanı için doğru hedef dizeyi seçmeniz dışında işlem aynı olacaktır.

Öğreticinin bu bölümünde hazırlama ortamı için kullanılacak bir web uygulaması ve veritabanı oluşturacak ve üretim ortamı oluşturup dağıtmadan önce hazırlama ve test için dağıtım yapacaksınız.

Not

Aşağıdaki adımlarda, Azure yönetim portalını kullanarak Azure App Service'de bir web uygulamasının nasıl oluşturulacağı gösterilir. Azure SDK'nın en son sürümünde, Bunu Visual Studio'dan çıkmadan, Sunucu Gezgini'ni kullanarak da yapabilirsiniz. Visual Studio 2013'da, doğrudan Yayımla iletişim kutusundan da bir web uygulaması oluşturabilirsiniz. Daha fazla bilgi için bkz. Azure App Service'da ASP.NET web uygulaması oluşturma.

  1. Azure Yönetim Portalı'ndaWeb Siteleri'ne ve ardından Yeni'ye tıklayın.

  2. Web Sitesi'ne ve ardından Özel Oluştur'a tıklayın.

    Yeni Web Sitesi - Özel Oluşturma sihirbazı açılır. Özel Oluşturma sihirbazı aynı anda bir web sitesi ve veritabanı oluşturmanıza olanak tanır.

  3. Sihirbazın Web Sitesi Oluştur adımında, uygulamanızın hazırlama ortamı için benzersiz URL olarak kullanılacak URL kutusuna bir dize girin. Örneğin, ContosoUniversity-staging123 girin (ContosoUniversity-staging alınırsa benzersiz hale getirmek için sondaki rastgele sayılar dahil).

    Url'nin tamamı buraya girdiğinizden ve metin kutusunun yanında gördüğünüz son ekten oluşur.

  4. Bölge açılan listesinde size en yakın bölgeyi seçin.

    Bu ayar, web uygulamanızın hangi veri merkezinde çalıştırılacağını belirtir.

  5. Veritabanı açılan listesinde Yeni SQL veritabanı oluştur'u seçin.

  6. VERITABANı Bağlantı Dizesi Adı kutusunda VarsayılanBağlantı varsayılan değerini bırakın.

  7. Kutunun en altındaki sağa işaret eden oka tıklayın.

    Aşağıdaki çizimde, içinde örnek değerler bulunan Web Sitesi Oluştur iletişim kutusu gösterilmektedir. Girdiğiniz URL ve Bölge farklı olacaktır.

    Web Sitesi Oluşturma adımı

    Sihirbaz, Veritabanı ayarlarını belirtin adımına ilerler.

  8. Ad kutusuna ContosoUniversity artı rastgele bir sayı girerek benzersiz olmasını sağlayın, örneğin ContosoUniversity123.

  9. Sunucu kutusunda Yeni SQL Veritabanı Sunucusu'nu seçin.

  10. Yönetici adı ve parola girin.

    Var olan bir adı ve parolayı buraya giremezsiniz. Daha sonra veritabanına eriştiğinizde kullanmak için şu anda tanımladığınız bir adı ve parolayı girersiniz.

  11. Bölge kutusunda, web uygulaması için seçtiğiniz bölgeyi seçin.

    Web sunucusunu ve veritabanı sunucusunu aynı bölgede tutmak size en iyi performansı verir ve giderleri en aza indirir.

  12. İşinizin bittiğini belirtmek için kutunun altındaki onay işaretine tıklayın.

    Aşağıdaki çizimde, içinde örnek değerler bulunan Veritabanı ayarlarını belirtin iletişim kutusu gösterilmektedir. Girdiğiniz değerler farklı olabilir.

    Yeni Web Sitesi - Veritabanı ile Oluştur sihirbazının Veritabanı Ayarları adımı

    Yönetim Portalı Web Siteleri sayfasına döner ve Durum sütunu web uygulamasının oluşturulduğunu gösterir. Bir süre sonra (genellikle bir dakikadan kısa), Status sütunu web uygulamasının başarıyla oluşturulduğunu gösterir. Sol taraftaki gezinti çubuğunda, hesabınızdaki web uygulamalarının sayısı Web Siteleri simgesinin yanında, veritabanı sayısı ise SQL Veritabanları simgesinin yanında görünür.

    Yönetim Portalı'nın Web Siteleri sayfası, web sitesi oluşturuldu

    Web uygulamanızın adı çizimdeki örnek uygulamadan farklı olacaktır.

Uygulamayı hazırlamaya dağıtma

Hazırlama ortamı için bir web uygulaması ve veritabanı oluşturduğunuza göre, projeyi buna dağıtabilirsiniz.

Not

Bu yönergeler, yalnızca Azure için değil üçüncü taraf barındırma sağlayıcıları için de çalışan bir .publishsettings dosyası indirerek yayımlama profili oluşturmayı gösterir. En son Azure SDK'sı, Visual Studio'dan doğrudan Azure'a bağlanmanıza ve Azure hesabınızda bulunan web uygulamaları listesinden seçim yapmanıza da olanak tanır. Visual Studio 2013'da, Web'de Yayımla iletişim kutusundan veya Sunucu Gezgini penceresinden Azure'da oturum açabilirsiniz. Daha fazla bilgi için bkz. Azure App Service'da ASP.NET web uygulaması oluşturma.

.publishsettings dosyasını indirme

  1. Yeni oluşturduğunuz web uygulamasının adına tıklayın.

    Panoya gitmek için siteye tıklayın

  2. Pano sekmesindeki Hızlı bakış'ın altında Yayımlama profilini indir'e tıklayın.

    Yayımlama Profili bağlantısını indirin

    Bu adım, web uygulamanıza bir uygulama dağıtmak için ihtiyacınız olan tüm ayarları içeren bir dosyayı indirir. Bu bilgileri el ile girmeniz gerekmemesi için bu dosyayı Visual Studio'ya aktaracaksınız.

  3. .publishsettings dosyasını Visual Studio'dan erişebileceğiniz bir klasöre kaydedin.

    .publishsettings dosyasını kaydetme

    Uyarı

    Güvenlik - .publishsettings dosyası, Azure aboneliklerinizi ve hizmetlerinizi yönetmek için kullanılan kimlik bilgilerinizi (kodlanmamış) içerir. Bu dosya için en iyi güvenlik uygulaması, dosyayı geçici olarak kaynak dizinlerinizin dışında (örneğin Kitaplıklar\Belgeler klasöründe) depolamak ve içeri aktarma işlemi tamamlandıktan sonra silmektir. .publishsettings dosyasına erişim elde eden kötü amaçlı bir kullanıcı Azure hizmetlerinizi düzenleyebilir, oluşturabilir ve silebilir.

Yayımlama profili oluşturma

  1. Visual Studio'da, Çözüm Gezgini'da ContosoUniversity projesine sağ tıklayın ve bağlam menüsünden Yayımla'yı seçin.

    Web'i Yayımla sihirbazı açılır.

  2. Profil sekmesine tıklayın.

  3. İçeri Aktar’a tıklayın.

  4. Daha önce indirdiğiniz .publishsettings dosyasına gidin ve Aç'a tıklayın.

    Yayımlama Ayarlarını İçeri Aktar iletişim kutusu

  5. Bağlantı sekmesinde, ayarların doğru olduğundan emin olmak için Bağlantıyı Doğrula'ya tıklayın.

    Bağlantı doğrulandığında, Bağlantıyı Doğrula düğmesinin yanında yeşil bir onay işareti gösterilir.

    Bazı barındırma sağlayıcıları için , Bağlantıyı Doğrula'ya tıkladığınızda bir Sertifika Hatası iletişim kutusu görebilirsiniz. Bunu yaparsanız, sunucu adının beklediğiniz gibi olduğunu doğrulayın. Sunucu adı doğruysa , Visual Studio'nun gelecek oturumları için bu sertifikayı kaydet'i seçin ve Kabul Et'e tıklayın. (Bu hata, barındırma sağlayıcısının dağıttığınız URL için SSL sertifikası satın alma masrafını önlemeyi seçtiği anlamına gelir. Geçerli bir sertifika kullanarak güvenli bir bağlantı kurmayı tercih ediyorsanız barındırma sağlayıcınıza başvurun.)

  6. İleri’ye tıklayın.

    bağlantı başarılı simgesi ve Bağlantı sekmesindeki İleri düğmesi

  7. Ayarlar sekmesinde Dosya Yayımlama Seçenekleri'ni genişletin ve ardından dosyaları App_Data klasöründen dışla'yı seçin.

    Dosya Yayımlama Seçenekleri altındaki diğer seçenekler hakkında bilgi için IIS'ye dağıtma öğreticisine bakın. Bu adımın sonucunu ve aşağıdaki veritabanı yapılandırma adımlarını gösteren ekran görüntüsü, veritabanı yapılandırma adımlarının sonundadır.

  8. Veritabanları bölümündeki DefaultConnection altında, üyelik veritabanı için veritabanı dağıtımını yapılandırın.

    1. Veritabanını güncelleştir'i seçin.

      DefaultConnection'ın hemen altındaki Uzak bağlantı dizesi kutusu ,publishsettings dosyasındaki bağlantı dizesiyle doldurulur. Bağlantı dizesi, .pubxml dosyasında düz metin olarak depolanan SQL Server kimlik bilgilerini içerir. Bunları kalıcı olarak orada depolamamayı tercih ederseniz, veritabanı dağıtıldıktan sonra yayımlama profilinden kaldırabilir ve bunun yerine Azure'da depolayabilirsiniz. Daha fazla bilgi için Scott Hanselman'ın blogundaki Kaynak bölümünden Azure'a dağıtım yaparken ASP.NET veritabanı bağlantı dizelerinizi güvenli tutma bölümüne bakın. 2. Veritabanı güncelleştirmelerini yapılandır'a tıklayın. 3. Veritabanı Güncelleştirmeler Yapılandır iletişim kutusunda SQL Betiği Ekle'ye tıklayın. 4. SQL Betiği Ekle kutusunda, çözüm klasöründe daha önce kaydettiğiniz aspnet-data-prod.sql betiğine gidin ve Aç'a tıklayın. 5. Veritabanı Güncelleştirmeler Yapılandır iletişim kutusunu kapatın.

  9. Veritabanları bölümündeki SchoolContext'in altında Code First Migrations Yürüt (uygulama başlangıcında çalışır) öğesini seçin.

    Visual Studio, sınıflar için DbContextVeritabanını Güncelleştir yerine Yürütme Code First Migrations görüntüler. Sınıf kullanarak DbContext eriştığınız bir veritabanını dağıtmak için Geçişler yerine dbDacFx sağlayıcısını kullanmak istiyorsanız Visual Studio için Web Dağıtımı SSS bölümünde Nasıl yaparım? İlk Kod veritabanını dağıtma? bölümüne bakın ve MSDN'de ASP.NET.

    Ayarlar sekmesi artık aşağıdaki örneğe benzer:

    Hazırlama için Ayarlar sekmesi

  10. Profili kaydetmek ve Hazırlama olarak yeniden adlandırmak için aşağıdaki adımları gerçekleştirin:

    1. Profil sekmesine ve ardından Profilleri Yönet'e tıklayın.

    2. İçeri aktarma işlemi, biri FTP ve diğeri Web Dağıtımı için iki yeni profil oluşturmuştur. Web Dağıtımı profilini yapılandırmışsınız: Bu profili Hazırlama olarak yeniden adlandırın.

      Profili Hazırlama olarak yeniden adlandırma

    3. Web Yayımlama Profillerini Düzenle iletişim kutusunu kapatın.

    4. Web Yayımla sihirbazını kapatın.

Ortam göstergesi için yayımlama profili dönüşümü yapılandırma

Not

Bu bölümde, ortam göstergesi için Web.config dönüşümün nasıl ayarlanacağı gösterilmektedir. Gösterge öğesinde <appSettings> olduğundan, Azure App Service dağıtırken dönüşümü belirtmek için başka bir alternatife sahipsiniz. Daha fazla bilgi için bkz. Azure'da Web.config ayarlarını belirtme.

  1. Çözüm Gezgini'daÖzellikler'i ve sonra PublishProfiles'ı genişletin.

  2. Staging.pubxml'ye sağ tıklayın ve ardından Yapılandırma Dönüşümü Ekle'ye tıklayın.

    Hazırlama için Yapılandırma Dönüşümü ekleme

    Visual Studio ,Web.Staging.config dönüştürme dosyasını oluşturur ve açar.

  3. Web.Staging.config dönüştürme dosyasına, açma configuration etiketinden hemen sonra aşağıdaki kodu ekleyin.

    <appSettings>
        <add key="Environment" value="Prod" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
    </appSettings>
    

    Hazırlama yayımlama profilini kullandığınızda, bu dönüşüm ortam göstergesini "Üretim" olarak ayarlar. Dağıtılan web uygulamasında, "Contoso University" H1 başlığından sonra "(Geliştirme)" veya "(Test)" gibi bir sonek görmezsiniz.

  4. kodladığınız dönüşümün beklenen değişiklikleri ürettiğinden emin olmak içinWeb.Staging.configdosyasına sağ tıklayın ve Dönüştürmeyi Önizle'ye tıklayın.

    Web.config Önizleme penceresi hem Web.Release.config dönüşümlerinin hem de Web.Staging.config dönüşümlerinin uygulanmasının sonucunu gösterir.

Test uygulamasının genel kullanımını engelleme

Hazırlama uygulamasının dikkate alınması gereken önemli nokta, uygulamanın İnternet'te canlı olması, ancak bunu kamunun kullanmasını istememektir. Kişilerin bulma ve kullanma olasılığını en aza indirmek için aşağıdaki yöntemlerden birini veya daha fazlasını kullanabilirsiniz:

  • Hazırlama uygulamasına yalnızca hazırlamayı test etmek için kullandığınız IP adreslerinden erişime izin veren güvenlik duvarı kuralları ayarlayın.
  • Tahmin edilmesi imkansız olabilecek karartılmış bir URL kullanın.
  • Arama motorlarının test uygulamasında gezinmediğinden emin olmak ve arama sonuçlarında bu uygulamanın bağlantılarını raporlamak için bir robots.txt dosyası oluşturun.

Bu yöntemlerden ilki en etkili yöntemdir ancak Azure App Service yerine Azure Bulut Hizmeti'ne dağıtmanızı gerektireceğinden bu öğreticide ele alınmaz. Azure'da Cloud Services ve IP kısıtlamaları hakkında daha fazla bilgi için bkz. Azure tarafından sağlanan İşlem Barındırma Seçenekleri ve Belirli IP Adreslerinin Web Rolüne Erişmesini Engelleme. Bir üçüncü taraf barındırma sağlayıcısına dağıtım yapıyorsanız, IP kısıtlamalarını nasıl uygulayabileceğinizi öğrenmek için sağlayıcıya başvurun.

Bu öğretici için birrobots.txt dosyası oluşturacaksınız.

  1. Çözüm Gezgini contosoUniversity projesine sağ tıklayın ve Yeni Öğe Ekle'ye tıklayın.

  2. robots.txtadlı yeni bir Metin Dosyası oluşturun ve içine aşağıdaki metni yerleştirin:

    User-agent: *
    Disallow: /
    

    Satır, User-agent arama motorlarına dosyadaki kuralların tüm arama motoru web gezginleri (robotlar) için geçerli olduğunu bildirir ve Disallow satır sitede hiçbir sayfada gezinilmemesi gerektiğini belirtir.

    Arama motorlarının üretim uygulamanızı kataloglamasını istediğiniz için bu dosyayı üretim dağıtımının dışında tutmanız gerekir. Bunu yapmak için, üretim yayımlama profilinde bir ayar oluştururken yapılandıracaksınız.

Hazırlık ortamına dağıtma

  1. Contoso University projesine sağ tıklayıp Yayımla'ya tıklayarak Web'i Yayımla sihirbazını açın.

  2. Hazırlama profilinin seçili olduğundan emin olun.

  3. Yayımla’ya tıklayın.

    Çıkış penceresinde hangi dağıtım eylemlerinin gerçekleştirildiği gösterilir ve dağıtımın başarıyla tamamlandığını raporlar. Varsayılan tarayıcı, dağıtılan web uygulamasının URL'sine otomatik olarak açılır.

Hazırlama ortamında test etme

Ortam göstergesinin, ortam göstergesi için Web.config dönüşümün başarılı olduğunu gösteren H1 başlığından sonra "(Test)" veya "(Geliştirme)" olmadığına dikkat edin.

Giriş sayfası hazırlama

Dağıtılan veritabanında öğrenci olmadığını doğrulamak için Öğrenciler sayfasını çalıştırın.

Code First'in veritabanını eğitmen verileriyle dağıttığını doğrulamak için Eğitmenler sayfasını çalıştırın:

Öğrenciler menüsünden Öğrenci Ekle'yi seçin, öğrenci ekleyin ve sonra veritabanına başarıyla yazabildiğinizi doğrulamak için Öğrenciler sayfasında yeni öğrenciyi görüntüleyin.

Kurslar sayfasında Kredileri Güncelleştir'e tıklayın. Kredileri Güncelleştir sayfası yönetici izinleri gerektirdiğinden Oturum Aç sayfası görüntülenir. Daha önce oluşturduğunuz yönetici hesabı kimlik bilgilerini ("admin" ve "prodpwd") girin. Önceki öğreticide oluşturduğunuz yönetici hesabının test ortamına doğru dağıtıldığını doğrulayan Kredileri Güncelleştir sayfası görüntülenir.

ELMAH'ın izleyebileceği bir hataya neden olmak için geçersiz bir URL isteyin ve ardından ELMAH hata raporunu isteyin. Bir üçüncü taraf barındırma sağlayıcısına dağıtıyorsanız, büyük olasılıkla raporun önceki öğreticide boş olmasıyla aynı nedenle boş olduğunu görürsünüz. ELMAH'nin günlük klasörüne yazmasını sağlamak üzere klasör izinlerini yapılandırmak için barındırma sağlayıcısının hesap yönetimi araçlarını kullanmanız gerekir.

Oluşturduğunuz uygulama artık bulutta üretim için kullanacağınız gibi bir web uygulamasında çalışıyor. Her şey düzgün çalıştığından, bir sonraki adım üretime dağıtmaktır.

Üretime dağıtma

Üretim web uygulaması oluşturma ve üretime dağıtma işlemi hazırlama işlemiyle aynıdır, ancak robots.txt dağıtımdan hariç tutmanız gerekir. Bunu yapmak için yayımlama profili dosyasını düzenleyeceksiniz.

Üretim ortamını ve üretim yayımlama profilini oluşturma

  1. Hazırlama için kullandığınız yordamı izleyerek Azure'da üretim web uygulamasını ve veritabanını oluşturun.

    Veritabanını oluştururken, veritabanını daha önce oluşturduğunuz sunucuya yerleştirmeyi veya yeni bir sunucu oluşturmayı seçebilirsiniz.

  2. .publishsettings dosyasını indirin.

  3. Hazırlama için kullandığınız yordamı izleyerek production .publishsettings dosyasını içeri aktararak yayımlama profilini oluşturun.

    Ayarlar sekmesinin Veritabanları bölümündeki DefaultConnection altında veri dağıtım betiğini yapılandırmayı unutmayın.

  4. Yayımlama profilini Üretim olarak yeniden adlandırın.

  5. Hazırlama için kullandığınız yordamı izleyerek ortam göstergesi için bir yayımlama profili dönüşümü yapılandırın..

.pubxml dosyasını robots.txt dışlamak için düzenleyin

Yayımlama profili dosyaları profilename.pubxml> olarak adlandırılır <ve PublishProfiles klasöründe bulunur. PublishProfiles klasörü, C# web uygulaması projesindeki Özellikler klasörünün altında, VB web uygulaması projesindeki Projem klasörünün altında veya bir web uygulaması projesindeki App_Data klasörünün altındadır. Her .pubxml dosyası, bir yayımlama profiline uygulanan ayarları içerir. Web'i Yayımla sihirbazına girdiğiniz değerler bu dosyalarda depolanır ve Visual Studio kullanıcı arabiriminde kullanılabilir hale getirilmeyen ayarları oluşturmak veya değiştirmek için bunları düzenleyebilirsiniz.

Varsayılan olarak, yayımlama profili oluşturduğunuzda .pubxml dosyaları projeye dahil edilir, ancak bunları projenin dışında tutabilirsiniz ve Visual Studio bunları kullanmaya devam eder. Visual Studio, projeye eklenip eklenmediğine bakılmaksızın .pubxml dosyalarının PublishProfiles klasöründe arar.

Her .pubxml dosyası için bir .pubxml.user dosyası vardır. .pubxml.user dosyası, Parolayı kaydet seçeneğini belirlediyseniz şifrelenmiş parolayı içerir ve varsayılan olarak proje dışında tutulur.

.pubxml dosyası, belirli bir yayımlama profiliyle ilgili ayarları içerir. Tüm profillere uygulanan ayarları yapılandırmak istiyorsanız bir .wpp.targets dosyası oluşturabilirsiniz. Derleme işlemi bu dosyaları .csproj veya .vbproj proje dosyasına aktarır, böylece proje dosyasında yapılandırabileceğiniz çoğu ayar bu dosyalarda yapılandırılabilir. .pubxml dosyaları ve .wpp.targets dosyaları hakkında daha fazla bilgi için bkz. Nasıl yapılır: Yayımlama Profili (.pubxml) Dosyalarında Dağıtım Ayarlarını Düzenleme ve Visual Studio Web Projelerinde .wpp.targets Dosyası.

  1. Çözüm Gezginiözellikler'i genişletin ve PublishProfiles'ı genişletin.

  2. Production.pubxml'ye sağ tıklayın ve Aç'a tıklayın.

    .pubxml dosyasını açma

  3. Production.pubxml'ye sağ tıklayın ve Aç'a tıklayın.

  4. Kapanış PropertyGroup öğesinden hemen önce aşağıdaki satırları ekleyin:

    <ExcludeFilesFromDeployment>
        robots.txt
    </ExcludeFilesFromDeployment>
    

    .pubxml dosyası artık aşağıdaki örneğe benzer:

    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>MSDeploy</WebPublishMethod>
        <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
        <LastUsedPlatform>Any CPU</LastUsedPlatform>
        <SiteUrlToLaunchAfterPublish>http://contosou-staging.azurewebsites.net</SiteUrlToLaunchAfterPublish>
        <ExcludeApp_Data>True</ExcludeApp_Data>
        <MSDeployServiceURL>waws-prod-bay-001.publish.azurewebsites.windows.net:443</MSDeployServiceURL>
        <DeployIisAppPath>contosou-staging</DeployIisAppPath>
        <RemoteSitePhysicalPath />
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName>[username]</UserName>
        <_SavePWD>True</_SavePWD>
        <PublishDatabaseSettings>
          <!-- database settings removed -->
        </PublishDatabaseSettings>
        <ExcludeFilesFromDeployment>
            robots.txt
        </ExcludeFilesFromDeployment>
      </PropertyGroup>
      <ItemGroup>
        <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String">
          <ParameterValue>Data Source=tcp:sk0264hvc9.database.windows.net,1433;Initial Catalog=ContosoUniversity-staging;User Id=CU-staging-admin@sk0264hvc9;Password=</ParameterValue>
        </MSDeployParameterValue>
        <MSDeployParameterValue Include="$(DeployParameterPrefix)SchoolContext-Web.config Connection String">
          <ParameterValue>Data Source=tcp:sk0264hvc9.database.windows.net,1433;Initial Catalog=ContosoUniversity-staging;User Id=CU-staging-admin@sk0264hvc9;Password=</ParameterValue>
        </MSDeployParameterValue>
      </ItemGroup>
    </Project>
    

    Dosya ve klasörleri dışlama hakkında daha fazla bilgi için Visual Studio için Web Dağıtımı SSS ve MSDN'de ASP.NET belirli dosyaları veya klasörleri dağıtımdan dışlayabilir miyim? bölümüne bakın.

Üretime dağıtma

  1. Web'i Yayımla sihirbazını açın, Üretim yayımlama profilinin seçili olduğundan emin olun ve önizleme sekmesinde Önizlemeyi Başlat'a tıklayarak robots.txt dosyasının üretim uygulamasına kopyalanmayacağını doğrulayın.

    Üretimde yayımlanacak dosyaların önizlemesi

    Kopyalanacak dosyaların listesini gözden geçirin. .aspx.cs, .aspx.designer.cs, Master.cs ve Master.designer.cs dosyaları dahil olmak üzere tüm .cs dosyalarının atlandığını göreceksiniz. Bu kodun tümü, bin klasöründe bulabileceğiniz ContosoUniversity.dll ve ContosoUniversity.pdb dosyalarında derlenmiştir. Uygulamayı çalıştırmak için yalnızca .dll gerektiğinden ve daha önce yalnızca uygulamayı çalıştırmak için gereken dosyaların dağıtılması gerektiğini belirttiğinizden, hedef ortama hiçbir .cs dosyası kopyalanmadı. Obj klasörü ve ContosoUniversity.csproj ve .csproj.user dosyaları aynı nedenle atlanır.

    Üretim ortamına dağıtmak için Yayımla'ya tıklayın.

  2. Hazırlama için kullandığınız yordamı izleyerek üretimde test edin.

    URL ve robots.txt dosyasının olmaması dışında her şey hazırlama işlemiyle aynıdır.

Özet

Web uygulamanızı başarıyla dağıtıp test etmiş ve İnternet üzerinden genel kullanıma sunulmuş durumdasınız.

Giriş sayfası üretimi

Sonraki öğreticide uygulama kodunu güncelleştirecek ve değişikliği test, hazırlama ve üretim ortamlarına dağıtacaksınız.

Not

Uygulamanız üretim ortamında kullanımdayken bir kurtarma planı uygulamanız gerekir. Başka bir ifadeyle, veritabanlarınızı üretim uygulamasından güvenli bir depolama konumuna düzenli aralıklarla yedeklemeniz ve bu tür yedeklemelerin birkaç neslini tutmanız gerekir. Veritabanını güncelleştirdiğinizde, değişiklikten hemen önce bir yedek kopya oluşturmanız gerekir. Ardından, bir hata yaparsanız ve üretime dağıtılana kadar bu hatayı bulamazsanız, veritabanını bozulmadan önce olduğu duruma kurtarabilirsiniz. Daha fazla bilgi için bkz. Azure SQL Veritabanı Yedekleme ve Geri Yükleme.

Not

Bu öğreticide, dağıttığınız SQL Server sürümü Azure SQL Veritabanı'dır. Dağıtım işlemi diğer SQL Server sürümlerine benzer olsa da, gerçek bir üretim uygulaması bazı senaryolarda Azure SQL Veritabanı için özel kod gerektirebilir. Daha fazla bilgi için bkz. Azure SQL Veritabanı ile Çalışma ve SQL Server ile Azure SQL Veritabanı arasında seçim yapma.