<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      微軟ASP.NET站點部署指南(2):部署SQL Server Compact數據庫

      2011-11-25 14:47  湯姆大叔  閱讀(5098)  評論(1)    收藏  舉報

      1. 綜述

      對于數據庫訪問,Contoso University程序要求下面的軟件必須隨程序一起部署,因為不屬于.NET Framework:

      2個數據庫的數據庫結構和相關的一些數據都需要部署。通常,開發系統的時候都會有一些測試數據,這些測試數據跟定不能部署到生產環境。當然,你也可能要輸入一些生產環境的數據以便部署到生產環境。本章節你將配置Contoso University項目以便部署的時候包括必須的軟件和數據。

      提醒:如果根據本章節所做的操作出現錯誤信息或一些功能不正常的話,請務必check Troubleshooting頁面

      2. SQL Server Compact與SQL Server Express

      Sample程序使用SQL Server Compact 4.0,這個數據庫引擎是web網站的新選擇,SQL Server Compact舊版本是不能用在web環境的。SQL Server Compact提供了很多常用的新功能,和開發部署SQL Server Express及SQL Server一樣。取決于你選擇的主機提供商,SQL Server Compact可能更便宜,因為完整版的SQL Server需要額外付費。 SQL Server Compact不需要額外的付費,因為你可以自己將這個數據庫引擎作為自己程序的一部分來部署。另外一個優點是備份和還原都十分簡單,因為所有的數據都在部署站點app_data文件夾的一個.sdf文件。備份和還原僅僅是copy文件而已。

       

      不過,你依然需要注意它的限制。SQL Server Compact不支持存儲過程、觸發器、試圖、復制。(對于SQL Server 2005和SQL Server 2008支持而SQL Server Compact不支持的完整功能列表,請訪問:Differences Between SQL Server Compact and SQL Server)。還有,操作SQL Server Express 和完整版SQL Server 數據庫schema和數據的一些工具也不支持SQL Compact。例如,你不能使用SQL Server Management Studio或者Visual Studio數據庫項目來處理SQL Server Compact數據庫。當你使用SQL Server Compact的時候,Entity Framework Code First會根據你的數據模型(data model)自動創建數據庫。但一旦部署以后,想保持開發環境數據庫和生產環境數據庫都同步的話很難,如果有像SQL Server Management Studio一樣的工具的話就簡單了。更多關于部署數據庫差異到SQL Server Compact數據庫的信息,請查看第9章。

       

      SQL Server Compact是個好選擇,可以用Visual Studio里的Server Explorer工具進行管理(本系列教材會將用到)。但是如果在初始部署以后需要經常改變的話,那使用SQL Server Compact 維護的成本可就大了。

       

      你可以先用SQL Server Compact 然后再升級,后面的章節將告訴你如何將SQL Server Compact遷移到SQL Server Express或者完整版SQL Server。當然,如果你正在創建新的程序然后期望以后升級至完整版SQL Server,最好的選擇是使用SQL Server Express。

      3. 配置SQL Server Compact數據庫引擎

      Contoso University程序數據訪問需要的軟件可以通過使用下面的NuGet包來安裝:

      NuGet包已經幫你安裝了所有該程序所需要的東西。有時候,它能修改Web.config文件或者添加build方案是需要運行的PowerShell腳本。如果你不想使用NuGet安裝這些東西,你需要了解NuGet包安裝的時候做的事情,以便可以手工做這些事情。

       

      有個問題需要注意,SqlServerCompact NuGet包會添加一個post-build腳本到你id項目,以便copy原生的assemblies到bin目錄下的x86amd64 子文件夾,但是項目默認是沒有這些子文件夾的,結果就是在部署的時候這些文件不會copy到目標站點,需要手工來做這些事情。(默認的部署配置就是這樣的,另外一個選擇(該教程沒有使用),你可以修改配置行為來達到目的,請查看Configuring Project Properties 來獲取資料。不推薦這樣做,因為部署的時候會帶給生成環境很多文件。)

       

      Solution Explorer里,點擊查看所有文件Show all Files (如果還沒點的話)。可能還需要點擊刷新Refresh

       

      展開bin文件夾可以看到有amd64x86子文件夾選擇這2個文件夾,然后右鍵選擇包含到項目里Include in Project

      這時候,文件夾的圖標會變回正常的,代表已經包含到項目里了。

       

      4. 創建程序數據庫

      一般部署數據庫的時候,都不會把開發庫的所有數據都部署到生產環境,因為很多數據都是測試用的。例如,測試庫里的學生姓名都是虛構的。另外一方面,也不能僅僅只部署數據庫結構而一點數據都不部署。一些測試數據有可能是生產環境用到的真實數據,例如,數據庫表里包含的年級值或真實的部門名稱。

      可以創建一個和開發環境不同版本的數據庫,一些表包含數據,一些表不包含數據。

      下面的圖顯示的是數據庫的結構:

       

      該教程假定第一次部署的時候,Student和Enrollment表是空的。其它的表上線的時候包含了一些預裝載數據。下面的步驟告訴你如何用Visual Studio的SQL Server工具刪除測試數據(你不必保存測試數據因為Entity Framework Code First初始化類的時候會自動生成這些數據)。

       SQL Server Compact數據庫包含了App_Data文件夾的.sdf文件。Solution Explorer里,展開App_Data文件夾可以看到2個SQL Server Compact數據庫.sdf文件。

       

      這里是你的開發庫,教程結束的時候你會有4個數據庫,其中開發環境2個,生成環境2個。為了標記清楚哪個是開發環境或生成環境,你可以重命名數據庫名稱:開發環境的aspnet-Dev.sdf 和School-Dev.sdf,生產環境的aspnet-Prod.sdf和School-Prod.sdf。

      開始修改School.sdf數據庫以便只包含部署到生產環境的數據(后面的章節將重命名為School-Prod.sdf)。

      Solution Explorer里,雙擊Server Explorer上的School.sdf數據庫。

       

      Server Explorer里,展開School.sdf數據庫,然后展開Tables

       

      Enrollment上點擊右鍵,選擇Show Table Data,然后選擇所有數據行,刪除。

       

      彈出確認刪除框的時候,點擊Yes

       

      同樣的步驟可以刪除Person表里的數據(僅限于EnrollmentDate列為null并且Discriminator列位“Student”的數據)。

       

      Server Explorer里,School.sdf上點擊右鍵選擇Close ConnectionSchool.sdf已經可以部署了。

      5. 創建Membership數據庫

      Contoso University程序使用了ASP.NET membership和Form驗證來驗證和授權用戶。其中有一個頁面只能讓administrators訪問,查看這個頁面,請運行程序,選擇Courses選項連接下的Update Credits,程序將跳轉到Login頁面,因為這個頁面只授權給了administrators。

       

      使用賬戶"admin"和密碼"Pas$w0rd"(其中的0是數字0,而不是字符o)登陸以后,你將可以看到Update Credits頁面。

       

      第一次部署站點的時候,通常需要排除所有的測試賬戶。這里,我們需要部署的數據僅需要一個administrator賬戶而非其它的用戶賬戶。與其手工刪除這些測試賬戶,不可以創建一個新的membership數據庫,并且值包含一個生產環境用到的administrator賬戶。這里沒有自動增加種子值(因為這是為School數據庫創建的新庫),如果你想再部署以后繼續保持測試數據以便繼續開發,那就需要事先備份一下測試數據庫。

      Solution Explorer里,重命名App_Data 文件夾下的aspnet.sdf 文件為aspnet-Dev.sdf。(不要復制,僅僅是重命名——一會你會再創建一個新數據庫)。

      Project菜單,選擇ASP.NET Configuration 運行Web Site Administration Tool (WAT),然后選擇Security選項卡。

       

      點擊Create or Manage Roles然后添加一個Administrator角色。

       

      導航到Security選項卡,點擊Create User然后添加用戶"admin"作為一個administrator。點擊Create User 頁面上的Create User按鈕之前,確保你選上了右邊的Administrator check box以便將用戶設置成Administrator角色。教程里用到的密碼是: "Pas$w0rd",你可以輸入任意email地址。

       

      關閉瀏覽器,返回Solution Explorer,點擊刷新refresh按鈕你將看到新建立的aspnet.sdf文件。

       

      右鍵aspnet.sdf文件,選擇Include in Project將它包含到項目里。

      6. 重命名生產環境數據庫

      沒有必要為生產環境重命名數據庫,但是如果這樣做了,解決方案將會更加清晰:

      重命名aspnet.sdf為aspnet-Prod.sdf

      重命名School.sdf為School-Prod.sdf

      這樣,這兩個數據就可以部署了

      7. 為開發環境設置連接字符串

      當你在Visual Studio里運行程序的時候,肯定不能用-Prod版本的數據庫,而是要用-Dev版本的數據庫,這時候你就需要修改Web.config文件里的數據庫連接字符串,使之指向到-Dev版本的連接地址。(你還沒創建School-dev.sdf文件,沒事!,因為Code First會檢查你有沒有數據庫,如果沒有會自動幫你創建的,你所需要做的就是填寫數據庫的名稱)。

       

      打開Web.config文件,找到connection strings節點:

      <configuration>
      <!-- Settings -->
      <connectionStrings>
      <add name="DefaultConnection" connectionString="Data Source=|DataDirectory|aspnet.sdf" providerName="System.Data.SqlServerCe.4.0"/>
      <add name="SchoolContext" connectionString="Data Source=|DataDirectory|School.sdf" providerName="System.Data.SqlServerCe.4.0"/>
      </connectionStrings>
      <!-- Settings -->
      </configuration>

      將"aspnet.sdf"改成"aspnet-Dev.sdf",然后將"School.sdf" 改成"School-Dev.sdf":

      <configuration>
      <!-- Settings -->
      <connectionStrings>
      <add name="DefaultConnection" connectionString="Data Source=|DataDirectory|aspnet-Dev.sdf" providerName="System.Data.SqlServerCe.4.0"/>
      <add name="SchoolContext" connectionString="Data Source=|DataDirectory|School-Dev.sdf" providerName="System.Data.SqlServerCe.4.0"/>
      </connectionStrings>
      <!-- Settings -->
      </configuration>

       

      運行程序,然后訪問一個頁面(例如:Students頁)讓它來訪問數據庫。它將導致Code First 代碼創建一個新數據庫School-Dev.sdf。點擊Solution Explorer里的Refresh,你可以發現這個數據庫,右鍵該數據庫選項Include in project將它包含到該項目。

      SQL Server Compact數據庫引擎和2個生產環境的數據庫都已經準備好可以部署了。下一章內容將知道你如何自動設置Web.config的transformations ,一般為開發、測試、生產環境自動設置不同的參數。(其中就有設置開發和生產環境里都用到的數據庫連接字符串)。

      8. 更多信息

      關于NuGet 的更多信息,請訪問:Manage Project Libraries with NuGetNuGet Documentation。如果你不想使用NuGet,那你需要了解如何分析NuGet包在安裝的時候都有啥東西(Web.config transformations, PowerShell腳本等等),具體內容請查看: Creating and Publishing a PackageConfiguration File and Source Code Transformations

      主站蜘蛛池模板: 神马视频| 亚洲国产精品无码一区二区三区 | 国产迷姦播放在线观看| 99蜜桃在线观看免费视频网站| 亚洲男女羞羞无遮挡久久丫| 黑人av无码一区| 真人无码作爱免费视频| 亚洲人成人伊人成综合网无码| 免费无码又爽又刺激网站直播| 成人看的污污超级黄网站免费| 国产高清色高清在线观看| 少妇愉情理伦片丰满丰满午夜| 人人妻人人妻人人片色av| 人妻少妇精品中文字幕| 黑人大战欲求不满人妻| 国产精品永久久久久久久久久 | 精品国精品国自产在国产| 人妻中文字幕不卡精品| 97免费人妻在线视频| 国语对白刺激在线视频国产网红| 亚洲国产午夜精品理论片妓女| 豆国产97在线 | 亚洲| 国产精品综合av一区二区 | 亚洲免费人成网站在线观看| 国产69精品久久久久99尤物 | 日韩精品成人区中文字幕| 国产精品久久久久久久久软件| 少妇上班人妻精品偷人| 欧美做受视频播放| 五月婷久久麻豆国产| 国产对白老熟女正在播放| 成人国产乱对白在线观看| 亚洲国产欧美一区二区好看电影| 潞西市| 网友偷拍视频一区二区三区 | 成人AV无码一区二区三区| 国产日韩精品中文字幕| 久久欧洲精品成av人片| 天堂网在线观看| 国产精品午夜av福利| 激情综合网一区二区三区|