iis訪問出現(xiàn)各種問題(Vs訪問正常)的部分處理方法詳細(xì)整理
今天有園友問我一個問題,問題的大致意思就是新建了一個項目,在vs中調(diào)試都可以正常,但是在iis訪問就會出現(xiàn)各種問題。我個人認(rèn)為這個問題都很容易解決,因為園友和我離的挺遠(yuǎn),只能通過QQ視頻來操作,但是我發(fā)現(xiàn)這種方式的溝通確實不太方便。索性把這些問題整理一下,這樣更容易的可以處理方法說明清楚。
因為我目前的項目沒有這個問題存在,所以我只能是新建一個簡單的項目,然后在本地操作,盡量讓這個問題出現(xiàn),也因為我從來沒有整理過這方面額問題,現(xiàn)在整理一下,然后再把我遇到的一些問題整理一下,說明一下如何解決這類問題。如果你還有一些問題出現(xiàn),但是我現(xiàn)在沒有想到,那么請你給我留言,我來把這些問題再做整理。
首先說第一個問題,數(shù)據(jù)庫訪問出現(xiàn)的問題??峙逻@個是最普遍的問題了。因為這個操作實在很簡單,具體的細(xì)節(jié)我就不細(xì)說了,大家一眼就會明白。
首先我們新建了一個Web項目,在項目中添加了一個頁面叫做test.aspx,其中添加了一個按鈕,當(dāng)點擊了這個按鈕的時候會連接數(shù)據(jù)庫把數(shù)據(jù)庫中的數(shù)據(jù)提取出來顯示在界面上的gridView上。
protected void Button1_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=DbLog;Integrated Security=True");
SqlCommand cmd = conn.CreateCommand();
try
{
string sql = "select top 10 * from log";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataTable dt = new DataTable();
sda.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
}
catch (Exception ex)
{
string errmsg = ex.Message;
Response.Write(ex.Message);
}
}
如果連接數(shù)據(jù)庫出現(xiàn)異常的話,我們把異常信息直接打印出來?,F(xiàn)在我們來看結(jié)果。

上面的這個圖是在vs中通過F5運行之后得到的結(jié)果,很明顯 顯示結(jié)果是正確的,現(xiàn)在我們來看一下在iis下的顯示結(jié)果。什么,你不知道怎么放到IIS中訪問,那么好吧,我簡略的敘述一下,在IIS中新建一個虛擬目錄或者網(wǎng)站,然后把項目的路徑填到里面就可以了。

在IIS中訪問出現(xiàn)了問題,顯示的不是數(shù)據(jù)庫中的數(shù)據(jù),而是在異常信息中顯示的異常信息。這是什么原因呢?看異常信息提示,打開數(shù)據(jù)庫失敗,這是為什么呢?從這個原因我們可以考慮幾個方面。
- 數(shù)據(jù)庫的配置問題,因為本篇博客如果要說明數(shù)據(jù)庫的配置,那就會很長了,所以簡略的說明一下,就是在數(shù)據(jù)庫中要把其中的幾個地方設(shè)置為啟用一般都可以解決。

2.如果不是數(shù)據(jù)庫的配置問題,可能使我們打開數(shù)據(jù)庫的數(shù)據(jù)庫密碼不正確。這個也要檢查一下,打開數(shù)據(jù)庫的服務(wù)器是否正確,數(shù)據(jù)庫名是否正確,因為我們這個試驗是通過Windows 驗證訪問的,所以不存在密碼錯誤的問題。
3.就是權(quán)限問題。這個應(yīng)該是最主要的問題存在,會令一些人瘋狂的地方了。其實就是我們做項目的時候控制用戶訪問的道理是一樣的,數(shù)據(jù)庫禁止該用戶訪問。
既然說道權(quán)限問題,那么我們就要說一下,IIS運行在哪個用戶下呢?我們以管理員登陸操作系統(tǒng)的奧,還是會出現(xiàn)錯誤。其實IIS運行在一個叫做iis_user的用戶下,可能不同的IIS版本下這個名稱會有所不同,Network_services 在IIS中有時也需要,但是在IIS7 就是這個用戶,因為我安裝的就是IIS7.如果我們用的是Server 2003 系統(tǒng),那么在IIS上可以直接設(shè)置權(quán)限。因為我在公司用的就是server 2003,所以比較清楚。

首先上來就報錯了。由于權(quán)限不足,那好,我們就給他增加權(quán)限。選擇項目文件夾,添加iis_users用戶,然后給他特定的權(quán)限就可以正常了。

可能有的園友要罵我了,怎么沒有看到那個數(shù)據(jù)庫無法登錄的錯誤,我只能說一句抱歉了,因為我確實沒有模擬出來那個錯誤。因為我用的是Windows 7系統(tǒng),其實在出現(xiàn)配置錯誤的時候我預(yù)想的應(yīng)該是出現(xiàn)哪個數(shù)據(jù)庫連接登錄錯誤。等我模擬到那個登錄錯誤的時候再拿出來。但是按照設(shè)置權(quán)限應(yīng)該可以解決所有的權(quán)限錯誤問題。
總結(jié)一下,iis登錄錯誤的問題很基本,只要我們善用搜索引擎,一般這類問題很容易解決。這篇播客是常識貼,知道的話很容易,但是如果找不到原因,也挺煩人的,故提出來大家一起分享。
相關(guān)文章
.NET?Core基于EMIT編寫的輕量級AOP框架CZGL.AOP
這篇文章介紹了.NET?Core基于EMIT編寫的輕量級AOP框架CZGL.AOP,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02
MVC4 基礎(chǔ) 枚舉生成 DropDownList 實用技巧
本篇文章小編為大家介紹,MVC4 基礎(chǔ) 枚舉生成 DropDownList 實用技巧。需要的朋友參考下2013-04-04
asp.net 讀取文本文件并插入數(shù)據(jù)庫的實現(xiàn)代碼
最近我司和招行有合作,招行給財務(wù)的是一個txt格式的賬務(wù)文本文件,文本文件包含很多內(nèi)容,對賬只需要用到其中一部分內(nèi)容。2010-04-04
Entity?Framework使用DBContext實現(xiàn)增刪改查
這篇文章介紹了Entity?Framework使用DBContext實現(xiàn)增刪改查的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10
asp.C#實現(xiàn)圖片文件與base64string編碼解碼
前些天在opera論壇里面當(dāng)了個flashblocker腳本文件,顧名思義,就是把網(wǎng)頁中的flash給過濾了,過濾之后呢就會在原位置顯示一張圖片,以前用firefox時的flash過濾插件也是這樣,而且顯示的圖片也一樣,一樣的難看,于是就想換換它。2010-03-03
ASP.NET Core模仿中間件方式實現(xiàn)列表過濾功能
這篇文章介紹了ASP.NET Core模仿中間件方式實現(xiàn)列表過濾功能的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-07-07
asp.net使用jquery模板引擎jtemplates呈現(xiàn)表格
這篇文章主要介紹了asp.net使用jquery模板引擎jtemplates呈現(xiàn)表格的示例,大家參考使用吧2014-01-01

