Aracılığıyla paylaş


Visual Studio veya Visual Web Developer kullanarak SQL Server Compact ile ASP.NET Web Uygulaması Dağıtma: Code-Only Güncelleştirmesi Dağıtma - 8 /12

tarafından Tom Dykstra

Başlangıç Projelerini İndir

Bu öğretici serisi, Visual Studio 2012 RC veya Web için Visual Studio Express 2012 RC kullanarak SQL Server Compact veritabanı içeren bir ASP.NET web uygulaması projesi dağıtmayı (yayımlamayı) gösterir. Web Yayımlama Güncelleştirmesi'ni yüklerseniz Visual Studio 2010'u da kullanabilirsiniz. Seriye giriş için serideki ilk öğreticiye bakın.

Visual Studio 2012'nin RC sürümünden sonra sunulan dağıtım özelliklerini gösteren, SQL Server Compact dışındaki SQL Server sürümleri dağıtmayı ve Azure App Service Web Apps'a dağıtmayı gösteren bir öğretici için bkz. Visual Studio kullanarak Web Dağıtımı'nı ASP.NET.

Genel Bakış

İlk dağıtımdan sonra, web sitenizin bakımını ve geliştirme çalışmalarınız devam eder ve çok geçmeden bir güncelleştirme dağıtmak istersiniz. Bu öğretici, uygulama kodunuz için bir güncelleştirme dağıtma işleminde size yol gösterir. Bu güncelleştirme bir veritabanı değişikliği içermez; Bir sonraki öğreticide veritabanı değişikliği dağıtmanın farklı yanlarını göreceksiniz.

Anımsatıcı: Öğreticide ilerlerken bir hata iletisi alırsanız veya bir şey çalışmıyorsa sorun giderme sayfasını kontrol edin.

Kod Değişikliği Yapma

Uygulamanıza yönelik basit bir güncelleştirme örneği olarak, Eğitmenler sayfasına seçili eğitmen tarafından öğretilen derslerin listesini ekleyeceksiniz.

Eğitmenler sayfasını çalıştırırsanız kılavuzda Seç bağlantıları olduğunu fark edersiniz, ancak satır arka planının griye dönmesi dışında bir işlem yapmazlar.

Instructors_page

Şimdi Seç bağlantısına tıklandığında çalıştırılan ve seçilen eğitmen tarafından öğretilen derslerin listesini görüntüleyen kod ekleyeceksiniz.

Instructors.aspx dosyasındaErrorMessageLabelLabel denetiminin hemen arkasına aşağıdaki işaretlemeyi ekleyin:

<h3>Courses Taught</h3>
<asp:ObjectDataSource ID="CoursesObjectDataSource" runat="server" TypeName="ContosoUniversity.BLL.SchoolBL"
    DataObjectTypeName="ContosoUniversity.DAL.Course" SelectMethod="GetCoursesByInstructor">
    <SelectParameters>
        <asp:ControlParameter ControlID="InstructorsGridView" Name="PersonID" PropertyName="SelectedDataKey.Value"
            Type="Int32" />
    </SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="CoursesGridView" runat="server" DataSourceID="CoursesObjectDataSource"
    AllowSorting="True" AutoGenerateColumns="False" SelectedRowStyle-BackColor="LightGray"
    DataKeyNames="CourseID">
    <EmptyDataTemplate>
        <p>No courses found.</p>
    </EmptyDataTemplate>
    <Columns>
        <asp:BoundField DataField="CourseID" HeaderText="ID" ReadOnly="True" SortExpression="CourseID" />
        <asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
        <asp:TemplateField HeaderText="Department" SortExpression="DepartmentID">
            <ItemTemplate>
                <asp:Label ID="GridViewDepartmentLabel" runat="server" Text='<%# Eval("Department.Name") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Sayfayı çalıştırın ve bir eğitmen seçin. Bu eğitmen tarafından öğretilen derslerin listesini görürsünüz.

Instructors_page_with_courses

Kod Güncelleştirmesini Test Ortamına Dağıtma

Test ortamına dağıtmak, tek tıklamayla yayımlamayı yeniden çalıştırmak için basit bir işlemdir. Bu işlemi daha hızlı hale getirmek için Web Tek Tıklamayla Yayımla araç çubuğunu kullanabilirsiniz.

Görünüm menüsünde Araç Çubukları'nı ve ardından Web One Tıklama Yayımla'yı seçin.

Selecting_One_Click_Publish_toolbar

Çözüm Gezgini'da ContosoUniversity projesini seçin.

Web One Click Publish araç çubuğu, Test yayımlama profilini seçin ve ardından Web'i Yayımla'ya tıklayın (okların sola ve sağa işaret eden simgesi).

Web_One_Click_Publish_toolbar

Visual Studio güncelleştirilmiş uygulamayı dağıtır ve tarayıcı otomatik olarak giriş sayfasına açılır. Eğitmenler sayfasını çalıştırın ve güncelleştirmenin başarıyla dağıtıldığını doğrulamak için bir eğitmen seçin.

Instructors_page_with_courses_Test

Normalde regresyon testi de yaparsınız (yani, yeni değişikliğin mevcut işlevleri bozmadığından emin olmak için sitenin geri kalanını test edin). Ancak bu öğretici için bu adımı atlayıp güncelleştirmeyi üretim ortamına dağıtmaya devam edersiniz.

İlk Veritabanı Durumunun Üretime Yeniden Dağıtılmasını Önleme

Gerçek bir uygulamada, kullanıcılar ilk dağıtımınızdan sonra üretim sitenizle etkileşim kurar ve veritabanları canlı verilerle doldurulur. Bu nedenle, üyelik veritabanını ilk durumunda yeniden dağıtmak istemezsiniz ve bu da tüm canlı verileri siler. SQL Server Compact veritabanları App_Data klasöründeki dosyalar olduğundan, App_Data klasöründeki dosyaların dağıtılmaması için dağıtım ayarlarını değiştirerek bunu engellemeniz gerekir.

ContosoUniversity projesinin Proje Özellikleri penceresini açın ve Web'i Paketle/Yayımla sekmesini seçin. Yapılandırma açılan kutusunda Etkin (Yayın) veya Yayın'ın seçili olduğundan emin olun, dosyaları App_Data klasöründen dışla'yı seçin.

Exclude_files_from_the_App_Data_folder

Gelecekte bir hata ayıklama derlemesi dağıtmaya karar vermeniz durumunda, Hata ayıklama derleme yapılandırması için aynı değişikliği yapmak iyi bir fikirdir: Yapılandırma'yıHata Ayıklama olarak değiştirin ve ardından dosyaları App_Data klasöründen dışla'yı seçin.

Paketle/Web'i Yayımla sekmesini kaydedin ve kapatın.

Not

Önemli

Yayımlama profillerinizde Hedefte ek dosyaları kaldır seçeneğinin seçili olmadığından emin olun. Bu seçeneği belirlerseniz, dağıtım işlemi dağıtılan sitedeki App_Data sahip olduğunuz veritabanlarını siler ve App_Data klasörünün kendisini siler.

Güncelleştirme Sırasında Üretim Sitesine Kullanıcı Erişimini Engelleme

Şimdi dağıttığınız değişiklik, tek bir sayfada yapılan basit bir değişikliktir. Ancak bazen daha büyük değişiklikler dağıtırsınız ve bu durumda kullanıcı dağıtım tamamlanmadan önce bir sayfa isterse site garip davranabilir. Bunu önlemek için birapp_offline.htm dosyası kullanabilirsiniz. uygulamanızın kök klasörüneapp_offline.htmadlı bir dosya yerleştirdiğinizde IIS, uygulamanızı çalıştırmak yerine otomatik olarak bu dosyayı görüntüler. Bu nedenle, dağıtım sırasında erişimi önlemek için app_offline.htm kök klasörüne yerleştirir, dağıtım işlemini çalıştırır ve app_offline.htmkaldırırsınız.

Çözüm Gezgini'da çözüme (projelerden birine değil) sağ tıklayın ve Yeni Çözüm Klasörü'ne tıklayın.

Creating_a_solution_folder

Klasörü SolutionFiles olarak adlandırın.

Yeni klasörde app_offline.htmadlı bir HTML sayfası oluşturun. Var olan içeriği aşağıdaki işaretlemeyle değiştirin:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Contoso University - Under Construction</title>
</head>
<body>
  <h1>Contoso University</h1>
  <h2>Under Construction</h2>
  <p>The Contoso University site is temporarily unavailable while we upgrade it. Please try again later.</p>
</body>
</html>

app_offline.htm dosyasını bir FTP bağlantısı veya barındırma sağlayıcısının denetim masasındaki Dosya Yöneticisi yardımcı programını kullanarak siteye kopyalayabilirsiniz. Bu öğretici için Dosya Yöneticisi'ni kullanacaksınız.

Denetim masasını açın ve Üretim Ortamına Dağıtma öğreticisinde yaptığınız gibi Dosya Yöneticisi'ni seçin. uygulamanızın kök klasörüne ulaşmak için contosouniversity.com ve ardından wwwroot'u seçin ve ardından Karşıya Yükle'ye tıklayın.

Upload_button_in_File_Manager

Dosyayı Karşıya Yükle iletişim kutusunda ,app_offline.htm dosyasını seçin ve karşıya yükle'ye tıklayın.

Upload_dialog_box_in_File_Manager

Sitenizin URL'sine göz atın. Artık giriş sayfanız yerineapp_offline.htmsayfasının görüntülendiğini görürsünüz.

App_offline.htm_page_in_production

Artık üretime dağıtmaya hazırsınız.

Kod Güncelleştirmesini Üretim Ortamına Dağıtma

Web One Tıkla Yayımla araç çubuğunda Üretim yayımlama profilini seçin ve Web'i Yayımla'ya tıklayın.

Visual Studio güncelleştirilmiş uygulamayı dağıtır ve tarayıcıyı sitenin giriş sayfasına açar. app_offline.htm dosyası görüntülenir. Dağıtımın başarılı olup olmadığını test etmeden önce app_offline.htm dosyasını kaldırmanız gerekir.

Denetim masasında Dosya Yöneticisi uygulamasına dönün. contosouniversity.com ve wwwroot'u seçin, app_offline.htmöğesini seçin ve ardından Sil'e tıklayın.

Deleting_app_offline.htm

Tarayıcıda, genel sitede Eğitmenler sayfasını açın ve güncelleştirmenin başarıyla dağıtıldığını doğrulamak için bir eğitmen seçin.

Instructors_page_with_courses_Prod

Şimdi veritabanı değişikliği içermeyen bir uygulama güncelleştirmesi dağıttınız. Sonraki öğreticide veritabanı değişikliğinin nasıl dağıtılacağı gösterilmektedir.