2015年,僅僅大二的我懷着一顆創業之心,加入了常熟派英特,成爲陽光職場平臺的創始之一,並肩負了公司技術部的大梁,當時陽光職場正在從線下服務向互聯網化升級過渡。php
距我離開本身公司已經快1.5年了,現在的我也面臨着畢業,就業的難題,這期間我跑過大中小型各類公司,值得一提的是,其中包括一家全球知名的bios生產商,American Megatrends也給了我offer(此處小激動),而創業彷佛離我漸漸遠去,看清現實的本身,不得不把本身身份放低,踏踏實實去作一名開發者,面試期間,爲了得到更多公司對我項目經驗的承認,我將把我經歷過的各類平臺的項目從新發布,其中包括了PHP項目,ASP.NET項目,J2EE項目,Node.js項目,Python項目,能夠說我真是一個超全棧程序員,技術棧十分混亂,正如前面所說長期從事web開發的我因爲對底層C也有必定基礎,故得到了AMI BIOS的承認,個人每個新項目都儘可能採用本身不懂不會的平臺去開發,以此來挑戰本身的學習能力,提升本身對編程的認識和理解高度。html
本次要搭建的項目是本人當年在休學創業期間,爲本身公司構建的全職兼職就業平臺——「陽光職場」,該項目基架(包括CMS)起因外包公司代工,在2015年我加入常熟派英特公司後,將全網站先後端進行了重構,因爲「外包遺留問題」,網站採用的是我當時不熟悉的ASP.NET平臺,我不得不從PHP程序員臨時轉型爲C#開發者,花了一個月自學C#與ASP.NET,最後成功的重構了整個網站。今天我讓「陽光職場重獲重生!」,遺憾的是這也將是我最後一次作ASP.NET的項目相關,說真的我一點也不喜歡「微軟全家桶」以及各類圖形界面的服務器配置(真的很蠢),作.NET是不可能的,這輩子都不會作.NET!mysql
對於ASP.NET這種高度集成的環境,不論是開發仍是本次發佈已有的源碼項目,都須要用到微軟全家桶,並且必須採用!ios
在這裏必須抱怨一下,這一套加起來容量多大我已經數不清了,個人C盤至少少了20G,這仍是在我把vs安裝在d盤的狀況下,而要是我採用PHP或者Node進行web開發,頂多不過是500M的樣子罷了,128G的surface傷不起呀,這裏力勸創業者和企業在啓動項目前若是想要加入ASP.NET必定要慎重思考。程序員
工具用途web
不像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。sql
(這一步保證你已經安裝好SqlServer與SSMS)數據庫
以上全部工具,我是先從SqlServer入手的,畢竟數據庫是網站的核心嘛,打開SSMS管理工具,會自動彈出本地數據庫服務器鏈接,點擊windows身份鏈接便可。apache
這裏以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文件。
修改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網站目錄。注意發佈方法爲「文件系統」!
這一步比較基礎,不作詳述,本身看圖
更多詳細步驟參閱:https://jingyan.baidu.com/article/eb9f7b6d9e73d1869364e8d8.html
注意把「.net4+」相關的都打鉤。
打開IIS管理器,右擊添加網站
圖中圈出來的都是配置重點,若是是asp.net mvc4網站,須要如出一轍!
關於:此操做要求使用 IIS 集成管線模式錯誤
進入應用程序池中修改託管管道模式
關於:局域網訪問IIS
請在防火牆高級設置中添加入站規則,將相應端口號開放
好了,網站已經能夠正常訪問了。
注:因爲該項目爲商業項目,源碼最終歸屬權屬於常熟派英特信息技術有限公司全部,本博客只涉及asp.net mvc建站技術,源碼不對外開放,請讀者使用我的項目嘗試,謝謝合做!