ASP.NET MVC2+MSSQL+Godaddy
? ? 先感謝一下博客園,在網上浪了這么長時間,現在發現還是博客園的文章技術含量要高一點!
? ? 現在言歸正傳,最近在課外學習ASP.NET MVC,也在微軟的官網上學了一些例子教程,現在剛好有機會可以實踐一下,一個簡單的網頁版調查問卷,自然記錄結果是必須的功能,
? ? 唯一要求不同的時,在對于問卷的場景材料要求是隨機出現的即不是固定不變的,這個功能在MVC中也是十分好實現,這里也就是不在贅述。?下面主要按照四個模塊來進行該網站
? ? 的總結:
? ? ASP.NET ?MVC2
? ? 先說一下,為什么這里選用MVC2而不是MVC3,本來我在學習的時候也都是從MVC3開始的,但是在查看多了godaddy的賬號之后,發現自己的賬號只能支持ASP.NET 3.5,如果要
? ? 支持ASP.NET4.0則必須將賬戶升級到4GH,即godaddy的第四代網絡技術,但是是要付費的,所以這里就直接采用了MVC2,免得引起后續一系列的麻煩。由于這是個網站功能很簡單
? ? 所以,在網站設計方面,沒有太多需要講的,這里需要說明的主要有,兩點:
? ? 1. 關于IIS6.0及以下的IIS服務器的路由設置,這在前面一片的route+htmlHelper中已經有了講解。
? ? 2. web.config的配置說明:
? ? ? ?這里引用以下下面鏈接的文章:http://www.cnblogs.com/a311300/archive/2010/01/26/1656881.html,這里將其中的參數說明復制過來,并加上自己的以下搜集如下:
參數說明:
1.Data Source
SqlConnectionStringBuilder的DataSource屬性,對應connectionString中的Data Source,“Data Source”可以由下列字符串代替:
“server”,“address”,“addr”和“network address”。Data Source=.\SQLExpress也可以寫成這樣Data Source=(local)\SQLExpress。
2.Integrated Security
SqlConnectionStringBuilder的IntegratedSecurity屬性,對應connectionString中的Integrated Security,“Integrated Security”可以
寫成“trusted_connection”,為true時,使用當前的 Windows 帳戶憑據進行身份驗證,為false時,需要在連接中指定用戶 ID 和密碼。
3.AttachDBFilename
SqlConnectionStringBuilder的AttachDBFilename屬性,對應connectionString中的AttachDBFilename,“AttachDBFilename”可以寫成“extended properties”,“initial file name”。AttachDbFileName屬性指定連接打開的時候動態附加到服務器上的數據庫文件的位置。
這個屬性可以接受數據庫的完整路徑和相對路徑(例如使用|DataDirectory|語法),在運行時這個路徑會被應用程序的App_Data目錄所代替。
4.User Instance
SqlConnectionStringBuilder的UserInstance屬性,對應connectionString中的User Instance ,該值指示是否將連接從默認的 SQL Server Express 實例重定向到在調用方帳戶之下運行并且在運行時啟動的實例。UserInstance=true,在這種情況下,SQLServerExpress為了把數據庫
附加到新的實例,建立一個新的進程,在打開連接的用戶身份下運行。在ASP.NET應用程序中,這個用戶是本地的ASPNET帳號或默認的
NetworkService,這依賴于操作系統。為了安全地附加非系統管理員帳號(例如ASP.NET帳號)提供的數據庫文件,建立一個獨立的SQLServer用戶實例是必要的。
5.min pool size=5;max pool size=512;
數據庫連接池最小連接數min pool size,數據庫連接池最大連接數max pool size.
6.DataDirectory是什么?
asp.net 2.0有一個特殊目錄app_data,通常Sql server 2005 express數據文件就放在這個目錄,相應的數據庫連接串就是:
connectionString="…… data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|data.mdf;User
Instance=true"這里有一個DataDirectory的宏,它表示什么意義呢?
DataDirectory是表示數據庫路徑的替換字符串。由于無需對完整路徑進行硬編碼,DataDirectory 簡化了項目的共享和應用程序的部署。例如,無需使用以下連接字符串:
"Data Source= c:\program files\MyApp\app_data\Mydb.mdf"
通過使用|DataDirectory|(包含在如下所示的豎線中),即可具有以下連接字符串:
"Data Source = |DataDirectory|\Mydb.mdf" 。
不僅僅是Sql server 2005 express中使用,也可以在其它的文件數據庫中使用,例如Sqllite數據庫文件的連接字符串:
<add name="DefaultDB"
connectionString="DriverClass=NHibernate.Driver.SQLite20Driver;Dialect=NHibernate.Dialect.SQLiteDialect;Data
Source=|DataDirectory|\data.db3" />
7.connect timeout= 9000
與其他 .NET Framework 數據提供程序(SQL Server、OLE DB 和 ODBC)中的 Connection 對象不同,OracleConnection 不支持
ConnectionTimeout 屬性。使用屬性或在連接字符串中設置連接超時沒有效果,而且返回的值總是零。OracleConnection 也不支持 Database
屬性或 ChangeDatabase 方法。
8. Initial Catalog
指定鏈接數據庫服務器時,初始鏈接的數據庫的名稱。?
MSSQL
這里的MsSql服務器基本上沒有什么好說的,唯一需要注意的就是在網站發布到godaddy之后,需要注意其中配置文件中的數據庫連接設置。
具體設置方法會在接下來的一節的godaddy配置中給出詳細說明。
godaddy配置
首先說明一下,在沒有進行這個網站部署之前的該賬戶的基本狀態:
asp.net3.5;數據庫服務器未建立;IIS6.0;自己設置了FTP賬戶可客戶端(這個幫了不少忙); 在godaddy上注冊的域名;
下面就按照自己部署網站時出現的問題的順序進行敘述:
?1.最先出現的就是前面一篇文章中講的MVC路由問題,由于在寫頁面是都是直接用的HTML語法,而沒有使用HTMLhelper,所以很多涉及到連接的位置路徑都已經
? ?固定下來,所以要將其鏈接中全部加上.aspx。有點麻煩,同時又看到IIS7的integrated mode可以完美的支持MVC的路由,所以決定將IIS從IIS6.0升級到IIS7.0。
2.IIS升級
?my Account ---> my product之后,找到如下內容:
? ? ? ? 進入后,找到你要升級的賬戶,單擊--->
?在頁面中找到
? ? ? ? ?這里的IIS已經是7.0了,如果不是7,0且可以升級的話,旁邊會出現:upgrade,單擊,然后就可以一步一步的完成IIS的升級了。
? ? ? ? ?在完成IIS升級之后,一般情況下,godaddy會把你的所有網站全部移到一個新的空間,然后給你一個新的IP地址。并且會發郵件告知你需要修改賬戶中所有域名的A記錄。
? ? ? ? ?如果你的域名都是在godaddy中申請的話,那么godaddy會幫你自動把A記錄都修改好,但是如果你的域名不是在godaddy中申請的,那么則你需要到你的域名管理商那里
? ? ? ? ?修改你的A記錄。 在這一切都完成之后,我們不帶數據庫的ASP.NET MVC網頁就可以在上面運行了。
? ? ? ? ?3.數據的配置
? ? ? ? ?如果你的網站時動態的,那么你就需要在godaddy賬戶中創建一個你想要的數據庫,4GH可以支持server 2008 R2版本的數據庫。之前都是server 2005的。
? ? ? ? ?具體的創建步驟可以參照:http://hostbus.net/forum.php?mod=forumdisplay&fid=62這里面應該都有。
? ? ? ? ?完成之后,現在到了最關鍵的一步了,我們怎樣連接數據庫,放心我的godaddy會有已經生成號的鏈接代碼:
? ? ? ? ?進到數據庫管理頁面:
? ? ? ? ? ?單擊鉛筆圖標進入如下頁面:
? ? ? ? ? 單擊其中的紅色框框部分,就可以查看該數據庫的鏈接字符串了。
? ? ? ? ?Javascript
? ? ? ? ?在進行該網站設計的時候,少許用到了寫js,由于對js也是一知半解,用的不多,平常都只是寫些簡單的js函數,所以,這里我也要啰嗦一下:
? ? ? ? ?1. 對于js中函數的應用,例如:functionName和functionName();前者表示的對函數的引用,用C語言的話來說,就是相當于函數指針差不多的東西。
? ? ? ? ? ? 所以在jquery里面$().click(functName); 這里函數應該是之前已經聲明的函數。這樣,在單擊該個HTML元素,他就會執行該函數。
? ? ? ? ?2. 對于form中的onsubmit事件。
? ? ? ? ? ?首先需要明確的是,form中的onsubmit事件和submit方法,前者是一個form事件,就跟onclick的性質一樣。我們可以為該事件注冊函數。而submit則是
? ? ? ? ? ?form進行表單提交時的方法,即只要我們執行submit,我們的表單就是進行提交。它的響應是固定的,我們是不能為其進行函數注冊,因為他就不是一個事件
? ? ? ? ? ?所以我們在用Jquery進行form的驗證的時候,就可以這么注冊:$().submit(functionName);一定要記住,這里的submit和進行表單提交的submit方法是
? ? ? ? ? ?沒有任何關系的。?
? ? ? ? 差不多了!有什么不對的地方,歡迎大家指點啊!!
? ? ? ? Thank You!Wei!
轉載于:https://www.cnblogs.com/thinkanddo/archive/2011/12/19/2293399.html
總結
以上是生活随笔為你收集整理的ASP.NET MVC2+MSSQL+Godaddy的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 敏捷开发团队管理系列之三:程序与测试团队
- 下一篇: 40种为网页设计师准备的高品质和免费的多