项目开发过程中遇到的一些问题和解决办法(逐渐添加)
最近在項(xiàng)目開發(fā)的過程中自己遇到一些問題也有項(xiàng)目組的MM問的一些問題,這里列出了相應(yīng)的解決方法,可能并不全面,但應(yīng)該有些參考意義,有些是google出來的,也有一些是自己摸索出來的,有中文的,也有英文的.
1.? "System.Security.SecurityException: 安全錯(cuò)誤"在 ASP.NET 中該虛擬目錄指向遠(yuǎn)程共享時(shí)出現(xiàn)錯(cuò)誤信息
癥狀
當(dāng)您使用指向遠(yuǎn)程共享來承載 Microsoft 基于 ASP.NET 的應(yīng)用程序的一個(gè)虛擬目錄時(shí),您可能會(huì)收到與以下之一類似的錯(cuò)誤消息:
消息 1
安全異常描述: 應(yīng)用程序試圖執(zhí)行安全策略不允許的操作。 若要授予該應(yīng)用程序所需的權(quán)限請(qǐng)與您的系統(tǒng)管理員聯(lián)系或更改配置文件中的應(yīng)用程序的信任級(jí)別。
異常詳細(xì)信息: System.Security.SecurityException: 安全錯(cuò)誤。
源錯(cuò)誤:
行 30: private 靜態(tài) bool __intialized = false; 行 31: 行 32: 公用 Global_asax() {行 33: 如果 ((ASP.Global_asax.__intialized == false)) {行 34: ASP.Global_asax.__intialized = true;
郵件 2
中的服務(wù)器錯(cuò)誤 / ApplicationName 應(yīng)用程序。
分析器錯(cuò)誤說明: 該請(qǐng)求提供服務(wù)所需資源的分析時(shí)遇到錯(cuò)誤。 請(qǐng)檢查下列特定分析錯(cuò)誤詳細(xì)信息并適當(dāng)?shù)匦薷哪脑次募?/span>
分析器錯(cuò)誤信息: 無法無法加載類型 ApplicationName.Global。
源錯(cuò)誤: 行 1: < %@ 應(yīng)用程序 codebehind="Global.asax.cs"Inherits ="ApplicationName.Global"%> 源文件:Path of Application \global.asax 行: 1
原因
System.Web 命名空間不具有 AllowPartiallyTrustedCallersAttribute 屬性 應(yīng)用于。 有關(guān)更多信息,請(qǐng)?jiān)L問下面的 Microsoft Developer Network (MSDN) Web 站點(diǎn):
http://msdn2.microsoft.com/en-us/library/ms994923.aspx (http://msdn2.microsoft.com/en-us/library/ms994923.aspx)
不在 My_Computer_Zone 代碼組不具有此屬性中的任何代碼要求具有 FullTrust 用戶權(quán)限。 因此,包含 Web 應(yīng)用程序內(nèi)容的遠(yuǎn)程共享需要 FullTrust。
解決方案
若要解決此問題,授予 FullTrust 權(quán)限到遠(yuǎn)程共享:
| 1)????? 在 Web 服務(wù)器上, 打開管理工具,然后雙擊 Microsoft .NET Framework 配置 。 | |
| 2)????? 展開 運(yùn)行庫(kù)安全策略 ,展開 計(jì)算機(jī) ,然后展開 代碼組 。 | |
| 3)????? 用鼠標(biāo)右鍵單擊 All _ Code ,然后單擊 新建 。 | |
| 4)????? 選擇 創(chuàng)建新的代碼組 。 為您的代碼組指定一個(gè)相關(guān)名稱,如應(yīng)用程序共享的名稱。 單擊 下一步 。 | |
| 5)????? 在 選擇條件類型對(duì)此代碼組 列表,選擇 URL 。 | |
| 6)????? 在 URL 框,鍵入以下列格式共享的路徑: 7)????? file:\\ computername \ sharename \ * 8)????? 注意 computername 替換為承載遠(yuǎn)程共享計(jì)算機(jī)的名稱。 sharename 替換為共享的名稱。 | |
| 9)????? 單擊 下一步 。 在下一頁(yè)上, 選擇 使用現(xiàn)有權(quán)限集 ,然后選擇 FullTrust 。 | |
| 10)?? 單擊 下一步 ,然后單擊 完成 。 | |
| 11)?? 重新啟動(dòng) Microsoft Internet 信息服務(wù) (IIS) 重新啟動(dòng) ASP.NET 輔助進(jìn)程。 |
如果 Microsoft .NET Framework 配置 則不會(huì)顯示在 管理工具 下,您可以安裝 .NET Framework SDK 將 Microsoft .NET Framework 配置 。 此外,您可以運(yùn)行以下命令,以使更改:
Drive: \WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe-m-ag 1-url"file:\\ computername \ sharename \ *"上的排他 FullTrust-
注意 有關(guān)這些參數(shù)做什么的信息,運(yùn)行以下命令:
caspol.exe-?
?
在這種配置,運(yùn)行 ASP.NET 工作進(jìn)程帳戶必須有足夠的權(quán)限來遠(yuǎn)程共享。 您可以設(shè)置在 Machine.config 文件中使用 Processmodel 標(biāo)記在輔助進(jìn)程運(yùn)行帳戶
?
重現(xiàn)該問題的步驟
| 1)????? 創(chuàng)建一個(gè)新的虛擬目錄指向遠(yuǎn)程共享。 | |
| 2)????? 創(chuàng)建一個(gè)應(yīng)用程序?yàn)樘摂M目錄。 確保連接到該共享用戶具有對(duì)遠(yuǎn)程內(nèi)容的讀訪問。 | |
| 3)????? 在 Machine.config 文件的 Processmodel 標(biāo)記,用戶更改為域用戶具有列表,讀取,和在遠(yuǎn)程共享上執(zhí)行權(quán)限。 | |
| 4)????? 創(chuàng)建嵌入式.aspx 文件,然后將文件放在遠(yuǎn)程共享。 | |
| 5)????? 發(fā)出一個(gè)請(qǐng)求頁(yè)。 |
2.???? SecurityException: Requested registry access is not allowed
?
1)????? Give the ASPNET user permission to read the Security eventlog registry entry.
Run regedit
Navigate to the following key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security
Right click on this entry and select Permissions
Add the ASPNET user
Give it Read permission
?
2)????? ?Change settings in machine.config file
Run Explorer
Navigate to WINDOWS or WINNT folder
Open Microsoft.NET folder
Open Framework folder
Open v1.1.4322 folder (folder name may be different, depending on what dotnet version is installed)
Open CONFIG folder
Open machine.config file using notepad (make a backup of this file first)
Locate processmodel tag (approx. at line 441)
Locate userName="machine" (approx. at line 452)
Change it to userName="SYSTEM"
Save and close the file
Close Explorer
?
3)????? Restart IIS
Run IISReset
?
如果這個(gè)方案不行的話,在第一步修改注冊(cè)表的時(shí)候,以下兩個(gè)為備選方案:、
1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security
右鍵選擇權(quán)限->添加? Network Service 帳號(hào),選擇Full Control
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog
右鍵選擇權(quán)限->添加? IUSR_machinename,選擇FullControl
?
再重得以上2,3步驟
3.???? Service Unavaible
您瀏覽一個(gè) Windows SharePoint Services Web 站點(diǎn)時(shí),您可能會(huì)收到下面的錯(cuò)誤信息:
Service Unavailable
原因
如果 Microsoft Internet 信息服務(wù) (IIS) 6.0 中沒有正確地配置用于虛擬服務(wù)器的應(yīng)用程序池,就可能會(huì)發(fā)生此問題。此問題可能會(huì)在存在下列一種或多種情況時(shí)發(fā)生: ?應(yīng)用程序池沒有運(yùn)行。
?應(yīng)用程序池帳戶使用的密碼不正確。
?應(yīng)用程序池帳戶不是服務(wù)器上的 IIS_WPG 和 STS_WPG 這兩個(gè)組的公共成員。
解決方案
要解決此問題,請(qǐng)按照下列步驟操作:
1.?????? 驗(yàn)證是否已為虛擬服務(wù)器配置了應(yīng)用程序池。默認(rèn)的應(yīng)用程序池是 MSSharePointPortalAppPool
請(qǐng)按照下列步驟來確定虛擬服務(wù)器正在使用的應(yīng)用程序池
1)????? 單擊“開始”,指向“管理工具”,然后單擊“Internet 信息服務(wù) (IIS) 管理器”。. 展開“ServerName”,
2)????? 展開“Web 站點(diǎn)”,右鍵單擊虛擬服務(wù)器,然后單擊“屬性”。
3)????? 單擊“主目錄”選項(xiàng)卡。為虛擬服務(wù)器配置的應(yīng)用程序池列在“應(yīng)用程序池”框中。
4)????? 單擊“確定”。
2.?????? 驗(yàn)證應(yīng)用程序池帳戶使用的密碼是否正確
IIS 不會(huì)自動(dòng)輪詢 Active Directory 目錄服務(wù)中的密碼更改。如果應(yīng)用程序池帳戶是一個(gè)域帳戶,其密碼已過期,則在為此帳戶重新指定一個(gè)新密碼后,您可能會(huì)收到本文“癥狀”部分所描述的錯(cuò)誤信息。
請(qǐng)按照下列步驟來驗(yàn)證應(yīng)用程序池帳戶所用的密碼是否正確:
1)????? 在 Internet 信息服務(wù) (IIS) 管理器中,展開“應(yīng)用程序池”
2)????? 右鍵單擊為虛擬服務(wù)器配置的應(yīng)用程序池(例如,右鍵單擊“MSSharePointPortalAppPool”),然后單擊“屬性
3)????? ?單擊“標(biāo)識(shí)”選項(xiàng)卡
4)????? 在“密碼”框中,鍵入列在“用戶名”框中的應(yīng)用程序池帳戶所用的密碼,然后單擊“確定”
在“確認(rèn)密碼”對(duì)話框中,再次鍵入密碼,然后單擊“確定”
3.?????? 驗(yàn)證應(yīng)用程序池帳戶是服務(wù)器上的 IIS_WPG 組和 STS_WPG 組的成員
根據(jù)您的具體情況選用下列方法之一
A.????? 在成員服務(wù)器上安裝了 SharePoint Portal Server 的情況下:
1)????? 單擊“開始”,指向“管理工具”,然后單擊“計(jì)算機(jī)管理”
2)????? 展開“本地用戶和組”,然后展開“用戶”
3)????? 右鍵單擊虛擬服務(wù)器的應(yīng)用程序池使用的帳戶,然后單擊“屬性”
4)????? 單擊“成員屬于”選項(xiàng)卡
驗(yàn)證 IIS_WPG 和 STS_WPG 是否都出現(xiàn)在“成員屬于”列表中。如果其中之一沒有列出或者兩者均未列出,請(qǐng)根據(jù)具體情況將 IIS_WPG 組、STS_WPG 組或者這兩個(gè)組添加到列表中。
B.????? 在域控制器上安裝了 SharePoint Portal Server 的情況下:
1)????? 啟動(dòng)“Active Directory 用戶和計(jì)算機(jī)”
2)????? 展開“用戶”
3)????? 右鍵單擊虛擬服務(wù)器的應(yīng)用程序池使用的帳戶,然后單擊“屬性”
4)????? 單擊“成員屬于”選項(xiàng)卡
驗(yàn)證 IIS_WPG 和 STS_WPG 都出現(xiàn)在“成員屬于”列表中。
如果其中之一沒有列出或者兩者均未列出,請(qǐng)根據(jù)具體情況將 IIS_WPG 組、STS_WPG 組或者這兩個(gè)組添加到列表中。
4.?????? 重新啟動(dòng) IIS 以回收應(yīng)用程序池:
1)????? 在 Internet 信息服務(wù) (IIS) 管理器中,右鍵單擊“ServerName”,指向“所有任務(wù)”,然后單擊“重新啟動(dòng) IIS”
2)????? 單擊“在 ServerName 上重新啟動(dòng) Internet 信息服務(wù)”,然后單擊“確定”
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/qiangzi0303/archive/2008/09/24/1298117.html
總結(jié)
以上是生活随笔為你收集整理的项目开发过程中遇到的一些问题和解决办法(逐渐添加)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ajax常见问题汇总(二)
- 下一篇: 真人3D Avatar