2009-01-10 49 views
0

我想從卡西尼使用服務器類來包含一個基本的Web服務器在我自己的應用程序。我剛開始玩了,以熟悉的方式,服務器的工作原理和我建立一個簡單的應用程序,如下所示:卡西尼錯誤:「這種類型的頁面沒有提供」

static void Main(string[] args) 
    { 
     Server server = new Server(80, "/", @"C:\Projects\"); 
     server.Start(); 
     Console.ReadLine(); 
     server.Stop(); 
    } 

它讓我通過目錄瀏覽,但如果我嘗試點擊一個文件中,例如C#源文件(*的.cs),它提供了以下錯誤:

Server Error in '/' Application.

This type of page is not served.

Description: The type of page you have requested is not served because it has been explicitly forbidden. The extension '.cs' may be incorrect.
Please review the URL below and make sure that it is spelled correctly.

我試圖尋找在卡西尼庫,錯誤文本,但沒有發現任何東西。

這個錯誤來自哪裏?我怎樣才能讓它提供任何文件? 我知道它意味着做asp.net和HTML,但我希望它也能像普通服務器那樣服務器上的任何文件。

+0

亞當嗨,你好,它是否滿足了HTML和ASPX的內容好嗎? – Kev 2009-01-10 16:54:22

+0

是的......這些都很好。 – 2009-01-10 17:42:18

回答

2

.cs文件和許多源代碼類型都無法呈現,因爲它們是由ASP.NET的禁止文件處理程序處理的。

這是初始配置在主web.config中的以下設置在c:\windows\microsoft.net\v2.0.50727\CONFIG\web.config

尋找在<httpHandlers>節,你看到這樣的設置:

<add path="*.cs" verb="*" type="System.Web.HttpForbiddenHandler" validate="True"/> 

一般來說,這是個好主意因爲它可以防止隨意瀏覽可能包含連接字符串等敏感數據的源代碼。

你應該能夠做去除您的應用程序的本地web.config中這一限制:

<configuration> 
    <system.web> 
     <httpHandlers> 
     <remove verb="*" path="*.cs"/> 
     </httpHandlers> 
    </system.web> 
</configuration> 

我可能不會建議面向生產環境中的網站上這樣做。

相關問題