• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      .Net環(huán)境下Web程序開發(fā)中遇到的問題

      2018-03-27 08:58:39韋麗霜
      求知導(dǎo)刊 2017年36期
      關(guān)鍵詞:三層架構(gòu)

      韋麗霜

      關(guān)鍵詞:.Net; Web應(yīng)用程序;三層架構(gòu)

      中圖分類號:TP311

      文獻標(biāo)識碼:A

      一、前言

      1.開發(fā)環(huán)境

      Asp.Net是當(dāng)前Web動態(tài)網(wǎng)頁開發(fā)的主流技術(shù)之一,基于.NET Framework 平臺的Web開發(fā)技術(shù)。本人在Windows操作系統(tǒng)中使用Visual Studio集成開發(fā)環(huán)境、C#語言、SQL SERVER數(shù)據(jù)庫進行Web開發(fā)。

      2. 三層架構(gòu)概述

      微軟推薦的分層結(jié)構(gòu)一般分為三層,從下至上分別為:數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層,三層之間有向下依賴的關(guān)系。數(shù)據(jù)訪問層主要負(fù)責(zé)對數(shù)據(jù)庫的訪問,對數(shù)據(jù)表的增、刪、改、查操作均放在此層。業(yè)務(wù)邏輯層負(fù)責(zé)業(yè)務(wù)處理和數(shù)據(jù)傳遞。它處于數(shù)據(jù)訪問層與表示層中間,表示層調(diào)用它,而它又調(diào)用數(shù)據(jù)訪問層,起到承上啟下的作用。負(fù)責(zé)實現(xiàn)業(yè)務(wù)規(guī)則及對數(shù)據(jù)進行有效性驗證等。表示層負(fù)責(zé)響應(yīng)用戶的請求,實現(xiàn)內(nèi)容的展現(xiàn)和與用戶的交互。

      二、 在三層架構(gòu)開發(fā)中遇到的問題及應(yīng)對辦法

      1.搭建三層架構(gòu)出現(xiàn)的問題

      搭建基于三層結(jié)構(gòu)的系統(tǒng)基本框架,將整個業(yè)務(wù)應(yīng)用劃分為模型層、數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層。

      (1)搭建三層結(jié)構(gòu)的系統(tǒng)基本框架。搭建步驟如下:

      ①新建一個空白解決方案。在Visual Studio 2010中選擇菜單欄“文件”“新建項目”“已安裝模板”,樹形目錄下選擇“其他項目類型”的“Visual Studio解決方案”“空白解決方案”,新建一個空白解決方案。

      ②新建一個類庫作為系統(tǒng)的模型層。右擊上一步建立的解決方案名,在彈出的快捷菜單中選擇“添加”“新建項目”“已安裝模板”樹型目錄下選擇Visual C#,在右側(cè)“模板”列表選擇“類庫”,建一個類庫作為模型層。

      ③新建一個類庫作為系統(tǒng)的數(shù)據(jù)訪問層。

      ④新建一個類庫作為系統(tǒng)的業(yè)務(wù)邏輯層。

      ⑤新建系統(tǒng)的表示層。注意此時在“添加新項目”對話框的中間窗口的“模板”列表中應(yīng)該選擇“ASP.NET ?Web應(yīng)用程序”選項。

      在做③時,往往容易按照②所寫操作,沒注意到當(dāng)創(chuàng)建好第一個類庫后,在“解決方案資源管理器”中顯示的不是解決方案名,而是②建立的類庫名。有的教材中也沒注意到這個細(xì)節(jié),這是初學(xué)者很容易弄錯的一步。由于軟件環(huán)境不一樣,有的機房又不會產(chǎn)生這樣的問題。這時可通過菜單“文件”|“添加”|“新建項目”來建立類庫作為數(shù)據(jù)訪問層。而建好第二個類庫后,其他的類庫就可與②中所講的操作了。

      (2)建立各層引用關(guān)系。

      ①建立表示層對業(yè)務(wù)邏輯層與模型層的引用。

      ②建立業(yè)務(wù)邏輯層對數(shù)據(jù)訪問層與模型層的引用。

      ③建立數(shù)據(jù)訪問層對模型層的引用。

      由于數(shù)據(jù)庫連接字符串需要在應(yīng)用程序多處重復(fù)使用,為便用維護與擴展,一般將連接字符串寫在Web.config配置文件中,在③中,除了需要建立數(shù)據(jù)訪問層對模型層的引用,還需要添加對System.Configuration的引用。System.Configuration 命名空間包含提供用于處理配置數(shù)據(jù)的編程模型的類型。初學(xué)者也常常容易忽略,導(dǎo)致程序無法運行。

      2.數(shù)據(jù)庫連接出現(xiàn)的問題

      用ADO.NET對象訪問SQL SERVER數(shù)據(jù)庫時,根據(jù)登錄數(shù)據(jù)庫的不同方式采用不同的代碼設(shè)置數(shù)據(jù)庫連接字符串,數(shù)據(jù)庫名為Strudb.mdf。

      (1)Windows身份驗證模式登錄數(shù)據(jù)庫以這種方式連接數(shù)據(jù)庫,很多情況下都能連接得上。但我遇到過在某種環(huán)境下會連接不成功。通過Windows XP環(huán)境,又安裝了一個Windows XP系統(tǒng),啟動第二個Windows XP系統(tǒng),然后在第二個系統(tǒng)中安裝SQL Server 2005及Visual Studio2005,數(shù)據(jù)庫文件StruDB是在SQL Server 2005中建立的,運行項目,數(shù)據(jù)庫就連不上了。而用SQL Server身份驗證模式就可連接。

      (2)SQL Server身份驗證模式登錄數(shù)據(jù)庫。如果初學(xué)者安裝SQL Server 2005/2008時沒安裝SQL Server身份驗證模式,項目是連不上數(shù)據(jù)庫的。SQL Server默認(rèn)安裝是Windows身份驗證模式。

      (3)如果只是安裝了Microsoft Visual Studio 2010攜帶的SQL Server2008,則可將數(shù)據(jù)庫文件放在表示層的App_Data文件夾中。

      在這種情況下,如果安裝的數(shù)據(jù)庫版本不一樣,也會連接不上數(shù)據(jù)庫。

      以上三種是我們連接數(shù)據(jù)庫常用的方式,都會有連接不上數(shù)據(jù)庫的情況,初學(xué)者難判斷是什么原因。教給大家一個辦法,找連接字符串:通過Microsoft Visual Studio 中連接數(shù)據(jù)庫的控件得到連接字符串,通過控件連接成功,自動產(chǎn)生的連接數(shù)據(jù)庫的代碼,放到web.config中,一般都可正常運行。

      3. 三層架構(gòu)中的路徑出現(xiàn)的問題

      在Visual Studio 中可用可視化的操作設(shè)置文件路徑,在Visual Studio 2005中自動產(chǎn)生的路徑會出現(xiàn)文件找不到的情況,自動產(chǎn)生的路徑出錯,Visual Studio 2010就沒這種情況了。

      4.三層架構(gòu)中添加現(xiàn)有項易出現(xiàn)的問題

      在Visual Studio 中可通過添加現(xiàn)有項的方式將文件導(dǎo)入項目中。通過添加現(xiàn)有項的方式將類文件導(dǎo)入類庫項目中時,運行ASP.NET Web應(yīng)用程序項目后會出現(xiàn).cs文件不被承認(rèn)的情況,這時可將所在類庫設(shè)為啟動項,然后再啟動運行調(diào)試就可以了。

      5. 使用在線文本編輯器FCKeditor遇到的問題

      本人在教學(xué)過程中,遇到FCKeditor控件使用異常。當(dāng)時機房的軟件環(huán)境是Window7/ Visual Studio 2010/SQL Server2005,一般情況下下載的文件按說明放在表示層中。相同的代碼,在幾個機房中動行,只有一個機房此控件相應(yīng)文件要放到模型層才能正常運行,放在表示層則提示錯誤。其他機房放表示層無錯誤提示,正常運行,放在模型層則提示出錯。

      三、其他問題

      1. 使用中文名字的文件易出現(xiàn)問題

      用Visual Studio開發(fā)Web應(yīng)用程序,運行時對中文文件還是存在兼容性問題的,建議使用字母命名文件。

      2.中文輸入法對代碼的影響

      有部分初學(xué)者在編程時在中文輸入法狀態(tài)中中文符號的狀態(tài)下輸入一些符號,就會出現(xiàn)錯誤。還有些是在中文輸入法狀態(tài)下英文符號狀態(tài)下輸入代碼,代碼無誤,但運行不成功。還是一些由中文輸入狀態(tài)切換到英文輸入狀態(tài)后輸入的代碼正確,仍無法正常運行,有時需重新輸入一遍或復(fù)制能運行的代碼過來就可以了。

      四、結(jié)語

      在實踐中,經(jīng)常會遇到這樣的情況,書中講的沒錯,操作也正確,卻得不到想要的結(jié)果。 初學(xué)者往往心中沒底,不知問題出在哪里。我希望本文對遇到類似情況的初學(xué)者和開發(fā)者提供一些參考與幫助。

      參考文獻:

      [1]程 ?琪,張白樺.ASP.NET動態(tài)網(wǎng)站開發(fā)項目化教程[M].北京:清華大學(xué)出版社,2010.

      [2]傳智播客高教產(chǎn)品研發(fā)部.ASP.NET就業(yè)實例教程[M].北京:人民郵電出版社,2015.

      [3]軟件開發(fā)技術(shù)聯(lián)盟.ASP.NET開發(fā)實例大全(提高卷)[M].北京:清華大學(xué)出版社,2016.

      猜你喜歡
      三層架構(gòu)
      基于“三層架構(gòu)”理論的教學(xué)設(shè)計案例分析
      良好的信息系統(tǒng)體系結(jié)構(gòu)模式對網(wǎng)絡(luò)安全監(jiān)察與維護技術(shù)的方法的探討
      ASP.NET三層架構(gòu)體系分析與應(yīng)用
      培訓(xùn)機構(gòu)信息發(fā)布平臺的設(shè)計與實現(xiàn)
      匯票管理系統(tǒng)的設(shè)計與實現(xiàn)
      基于SSH 的實驗室管理系統(tǒng)設(shè)計與實現(xiàn)
      通渭县| 和田县| 泽库县| 偃师市| 安远县| 正安县| 洞口县| 普兰县| 修武县| 盱眙县| 乌拉特中旗| 阿瓦提县| 淮阳县| 乌拉特中旗| 合江县| 巴彦县| 安康市| 策勒县| 崇文区| 正宁县| 临朐县| 资源县| 沿河| 资中县| 山丹县| 阜康市| 花垣县| 吴堡县| 祥云县| 耿马| 泾源县| 如东县| 伊春市| 普安县| 绥宁县| 奉贤区| 宿迁市| 方正县| 焉耆| 黄陵县| 无极县|