海水正藍

          面朝大海,春暖花開
          posts - 145, comments - 29, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          前言

          我想任何一個基于.NET的宮城師都會同意微軟的產品,特別是這個IIS,常常在你很恨意外的時候拋出異常來,比如在你的主要產品要升級的時候。然后你會花好多時間去找啊找,找到天荒地老。悲催!~。

          此篇文章的目標主要是為了IIS 7.5 在一些情況下的解決方案。希望這些對你們有幫助。

          一。 IIS 有關WCF 宿主(hosting)問題

          問題描述:

          如果第一次在IIS 7.5部署WCF 服務文件---.svc的時候,你很有可能會遇到下面的問題:

          404 – Not Found - The page you are requesting cannot be served because of the extension of the configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

          解決方案:

          404,很熟悉吧。就是沒找到文件。

          其實,這問題很簡單,發生錯誤的主要原因是HTTP Handler默認配置中的虛擬目錄并沒有映射(mapping)到以.svc為后綴的文件名。svc我們都知道在WCF機制中的重要性。既然目錄都找不到,當然就會報錯的哦!~。

          步驟:

          第一步:打開命令提示框。也就是cmd。

          第二步:在黑屏窗口中,通過cd 導航到一下目錄:

          C:\Windows\Microsoft.Net\Framework\v3.0\Windows Communication Foundation

          第三步:然后輸入:

          ServiceModelReg –i

          如圖

          這樣就OK了。

          二。在IIS中 不能看到Window Authentication(window 授權)

          我們都知道,在IIS 7.0中,默認情況下有以下3中授權方式:

          Anonymous(匿名,默認情況下打開)

          Impersonation( 模擬身份,默認情況關閉)

          Forms(默契情況下關閉)

          如圖:

           可能有些童鞋會覺得,不對啊,好像上面還缺少一種。對,缺少的就是“Windows Authentication”這個驗證方式。那么,有些人就會問,是沒有了呢?還是被路人甲給隱藏了呢?

          呵呵,其實是隱藏的!~~微軟這孩子已經把它不作為默認出現了。如果你真的需要這種驗證方式,那么可以如下這么做:

          打開控制面板(Control Panel),然后找到“Programs and Features”,在點擊“Turn Windows Features on/off “,如下:

          然后。。。

          勾選上就可以了~~~~

          三。Login failed for user 'IIS APPPOOL\Classic .NET

          這種情況主要發生在運用Windows Credentials 訪問數據庫時。宿主服務器(Host Server) 有sql 2008數據庫以及有HTTP 請求經過路由(routed)。

          基于這種情況的主要是因為改變這個Classic .NET Application的進程屬性標識,所以如果碰到這個情況,那么你需要把你的虛擬目錄映射(mapped)Classic .NET Application中就可以了。

          過程如下:

           第一步:打開你的IIS 管理器(我很喜歡直接在“開始”→“運行”里敲入  inetmgr,然后打開,覺得很酷!~嘻嘻。)

           第二步:在IIS 管理器里,選擇“Application Pools(應用程序池)”,在右邊的列表里,選擇“Class .NET AppPools”

          第三步:打開它的“Advanced Setting(高級設置)”。把Process Model下面的Identity屬性改為LocalSystem,如下圖:

          四。HTTP Error 500.23 - Internal Server Error

          為什么會發生這樣的錯誤呢?這個很大程度上是因為和托管的管道模式(Managed Pipeline Mode)設置有關系.

          這個主要有2個解決方案:

          第一個:改變你虛擬目錄映射的Application Pool(應用程序池)的Managed Pipeline 模式。默認情況下,你虛擬目錄將映射到DefaultAppPool下的Integrated Managed Pipeline模式。OK,我們需要把它從Integrated 到Classic模式就行了。

           方法2:為你的虛擬目錄創建一個新的Application

          在你的網頁目錄下,右鍵,添加一個“Application”,如下:

          在Aplication Pool下面選擇Classic.NetAppPool就可以了。。。

           

          原文地址:
          http://www.codeproject.com/Articles/111344/The-Curious-Case-of-Internet-Information-Services

          評論

          # re: [轉]IIS 7.5版本中一些詭異問題的解決方案[未登錄]  回復  更多評論   

          2013-08-21 21:56 by Aaron
          不錯,解決了我的問題

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 左权县| 乐都县| 吉隆县| 迁西县| 噶尔县| 香河县| 鲁甸县| 敦化市| 南川市| 平利县| 喀喇| 桐庐县| 蓬莱市| 兰西县| 抚松县| 临江市| 客服| 高雄县| 苍溪县| 菏泽市| 山西省| 秦皇岛市| 太和县| 从江县| 青冈县| 龙陵县| 忻州市| 江津市| 七台河市| 岳池县| 鄯善县| 肥西县| 阳山县| 台北市| 五指山市| 邯郸县| 本溪市| 焦作市| 十堰市| 汉寿县| 渝北区|