ASP.NET MVC4網站搭建與發布【最新】


ASP.NET MVC4網站搭建與發布

一些往事

2015年,僅僅大二的我懷着一顆創業之心,加入了常熟派英特,成為陽光職場平台的創始之一,並肩負了公司技術部的大梁,當時陽光職場正在從線下服務向互聯網化升級過渡。

距我離開自己公司已經快1.5年了,如今的我也面臨着畢業,就業的難題,這期間我跑過大中小型各種公司,值得一提的是,其中包括一家全球知名的bios生產商,American Megatrends也給了我offer(此處小激動),而創業似乎離我漸漸遠去,看清現實的自己,不得不把自己身份放低,踏踏實實去做一名開發者,面試期間,為了獲得更多公司對我項目經驗的認可,我將把我經歷過的各種平台的項目重新發布,其中包括了PHP項目,ASP.NET項目,J2EE項目,Node.js項目,Python項目,可以說我真是一個超全棧程序員,技術棧十分混亂,正如前面所說長期從事web開發的我由於對底層C也有一定基礎,故獲得了AMI BIOS的認可,我的每一個新項目都盡量采用自己不懂不會的平台去開發,以此來挑戰自己的學習能力,提高自己對編程的認識和理解高度。

本次要搭建的項目是本人當年在休學創業期間,為自己公司構建的全職兼職就業平台——“陽光職場”,該項目基架(包括CMS)原由外包公司代工,在2015年我加入常熟派英特公司后,將全網站前后端進行了重構,由於“外包遺留問題”,網站采用的是我當時不熟悉的ASP.NET平台,我不得不從PHP程序員臨時轉型為C#開發者,花了一個月自學C#與ASP.NET,最后成功的重構了整個網站。今天我讓“陽光職場重獲重生!”,遺憾的是這也將是我最后一次做ASP.NET的項目相關,說真的我一點也不喜歡“微軟全家桶”以及各種圖形界面的服務器配置(真的很蠢),做.NET是不可能的,這輩子都不會做.NET!

MS ASP.NET全家桶

對於ASP.NET這種高度集成的環境,不管是開發還是本次發布已有的源碼項目,都需要用到微軟全家桶,而且必須采用!

基本工具

  • visual studio 2017(勾選web與SQL的全部組件)
  • SQL Server 2017
  • SSMS(sqlserver管理工具)
  • IIS服務器

在這里必須抱怨一下,這一套加起來容量多大我已經數不清了,我的C盤至少少了20G,這還是在我把vs安裝在d盤的情況下,而要是我采用PHP或者Node進行web開發,頂多不過是500M的樣子罷了,128G的surface傷不起呀,這里力勸創業者和企業在啟動項目前如果想要加入ASP.NET一定要慎重思考。

工具用途

不像php開發網站,發布歸發布,開發歸開發,可以使兩套工具。ASP.NET任何情況都是全套,因為C#需要經過vs的編譯,除此以外光SQL Server數據庫也是不夠的,管理工具sql server manage studio也是必須的,導入數據用,這兩個可以捆綁安裝。別問為什么,SQLserver即是要配置局域網訪問(非本地訪問)也需要SSMS來操作,你想要遠程導入也是不可能的的,筆者在配置時使用了虛擬機,將網站發布在虛擬機中,結果發現虛擬機內不安裝SSMS,連訪問虛擬機中SQLserver的可能都沒有。

至於IIS就更加糟糕,它不像Linux下配置Nginx或是apache,找到etc目錄下的配置文件,按照每一行的注釋修改即可,微軟靠的是圖形界面,連server端都逃不過,這就讓我這個Linux控十分難受了,因為圖形界面反而讓我不知道去哪修改我想要的配置,總之,后面會一一解釋最終我是如何在IIS上跑asp.net mvc4。

數據庫先行

(這一步保證你已經安裝好SqlServer與SSMS)

以上所有工具,我是先從SqlServer入手的,畢竟數據庫是網站的核心嘛,打開SSMS管理工具,會自動彈出本地數據庫服務器連接,點擊windows身份連接即可。

SSMS管理器

導入數據

這里以sql文件為例(在微軟的數據庫世界里,一般他們都喜歡mdf文件)

第一步,創建數據庫

這里我新建一個叫SunJob的數據庫。

第二步,新建查詢

由於我們導入的是sql文件,sql文件其實就是批處理(腳本)語言罷了,在這里選擇菜單欄“新建查詢”,或者直接將sql文件拖拽至SSMS當中即可,注意是否需要修改sql文件部分內容,比如我這里刪除了“create database”等語句,最后點擊“執行”,去數據庫刷新一下看看表和視圖是不是都在里面了。

數據庫導入后

添加用戶

左邊樹狀欄,找到安全性(最外層,這是數據服務器級別的)->登錄名,新建一個登錄名,也就是新用戶,配置如下,主要工作是將剛剛新建的數據庫授權給他作為默認數據庫,在SqlServer中最好每個數據都有角色管理(好吧,mysql我都是root直轄的)。

這里寫圖片描述

剛剛只是為SqlServer添加了用戶,還要,找到新建好的數據庫(SunJob)->安全性(這是單個數據庫級別的)->用戶->右擊新建用戶

這里寫圖片描述

點擊瀏覽,在對話框中找到剛剛新建的用戶,打上勾,確定即可

這里寫圖片描述

關於用戶對數據庫增刪改查的權限

運行項目可能會遇到沒有select權限的問題,需要在安全對象中為新建的用戶授權,如下:

這里寫圖片描述

關於sqlserver用戶登錄時:18456錯誤

為整個數據庫服務器開通“windows用戶登錄以及sqlserver用戶雙重登錄功能”,右擊左側樹狀欄的最頂層(DESKTOP-XXXX),也就是本機數據庫服務器(sqlserver)-》屬性-》雙擊“安全性”。

這里寫圖片描述

編譯和發布

打開visual studio 2017,菜單欄選擇打開項目,找到sln文件。

修改web.config

修改connectionStrings

神奇的是,在asp.net的世界里,數據連接不是一個json或者類似json對象的配置,而是一行字符串,筆者習慣了php,遇到這種一行字符串配置連接真的是懵逼啊,不過好在我們可以通過vs找這行連接字符串。

點擊vs菜單欄工具找到:“連接到數據庫”,彈出對話框,選擇想要的那種。

這里寫圖片描述

下拉服務器名,vs會自動搜索本機上安裝的sql server,這里會卡挺久的,如果vs找不到,可以回SSMS中找到目標數據庫,右擊屬性,然后點擊“查看連接屬性”,里面可以找到服務器名稱。

這里寫圖片描述

回到vs2017中,填寫完整連接信息,點擊測試連接,成功后點擊高級(這里可以看到連接字符串了,也可以不用點,后面有完整的,直接復制到web.config中即可):

這里寫圖片描述

vs右側的“服務器資源管理器”,右擊查看剛剛添加的數據庫連接的屬性,可以看到關於他的連接字符串。

這里寫圖片描述

最后,將查到的data source修改到web.config文件里的connectionStrings中!項目可以連接到數據庫了。

<connectionStrings>
   <add name="SunJob" connectionString="Data Source=DESKTOP-4V7JQD8\SQLEXPRESS;Initial Catalog=SunJob;User ID=sunjob;Password=25" providerName="System.Data.SqlClient" />
</connectionStrings>

運行一下項目試試!不禁熱淚盈眶,那一年我們的公司,我們的網站!(如今只能在自己電腦上運行了)

這里寫圖片描述

其實到這里已經基本大功告成了,但是只能本地訪問(這其實是vs自帶的iis模擬器),需要局域網或者廣域網訪問,需要將項目部署到IIS,這樣看上去也更像是一個完整的網站,不過域名我就不給他了_(:з」∠)_

發布網站

visual studio中右擊左側樹狀欄中的項目,點擊發布:

這里寫圖片描述

等等需要將這個vs發布的目標位置作為iis網站目錄。注意發布方法為“文件系統”!

開啟windows iis功能

這一步比較基礎,不做詳述,自己看圖

這里寫圖片描述

更多詳細步驟參閱:https://jingyan.baidu.com/article/eb9f7b6d9e73d1869364e8d8.html

注意把“.net4+”相關的都打鈎。

配置IIS

打開IIS管理器,右擊添加網站

這里寫圖片描述

這里寫圖片描述

圖中圈出來的都是配置重點,如果是asp.net mvc4網站,需要一模一樣!

關於:此操作要求使用 IIS 集成管線模式錯誤

進入應用程序池中修改托管管道模式

這里寫圖片描述

關於:局域網訪問IIS

請在防火牆高級設置中添加入站規則,將相應端口號開放

好了,網站已經可以正常訪問了。

這里寫圖片描述

注:由於該項目為商業項目,源碼最終歸屬權屬於常熟派英特信息技術有限公司所有,本博客只涉及asp.net mvc建站技術,源碼不對外開放,請讀者使用個人項目嘗試,謝謝合作!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM