2009-01-18 32 views
0

是否可以將.ashx文件設置爲Web應用程序的開始(或默認)頁面?如果是這樣,它是如何完成的?將.ashx設置爲Web應用程序的開始「頁面」

編輯 - 一些很好的建議。我已將「Default.ashx」添加到網站上的IIS默認文檔和「已啓用默認文檔」,但是,即使禁用了目錄瀏覽,它也只顯示目錄列表。

任何其他建議,將不勝感激。 (IIS版本5.1)

編輯 - 重新啓動的IIS,它工作。

問題 - 我也可以問,是否可以在Visual Studio 2005中將起始頁面設置爲.ashx?這樣做後,我似乎無法從Visual Studio中進行調試。

答案 - 在應用程序屬性中,可以在「Web」選項卡下選擇「Start Action」。實際上,它也允許選擇使用哪個服務器/端口和調試器。很酷。

+0

我想你也可以在web.config中定義默認文檔,正如我的答案中所述,開發人員應該尊重這一點。 – chakrit 2009-01-18 12:24:10

回答

5

添加您的ASHX頁面並確保將其移動到列表頂部。

而在IIS7,您可以在web.config中指定它:

<system.webServer> 
    <defaultDocument> 
     <files> 
      <clear /> 
      <add value="my_default_page.ASHX" /> 
     </files> 
    </defaultDocument> 
</system.webServer>  

更多信息this blog post

編輯:作爲@waves發現,你可能需要配置後重新啓動IIS 。


要禁用目錄瀏覽,取消選中 「目錄瀏覽」 複選框:

+0

我已經失去了截圖文件的原始內容,如果任何人都可以製作新的截圖,我可以找到更好的主機。 – chakrit 2013-07-09 04:52:27

0

只需設置它像IIS的默認應用程序服務器上,如果你的一點是要建立一個處理程序ASHX youu可能,因爲它遵循這樣做:

所以,通過創建 rss.ashx開始

<!--WebHandler Language="C#" Class="KBMentor2.RSSHandler"--> 

現在讓我們來看看處理程序類:

RSSHandler.cs

namespace KBMentor2 
{ 
    using System; 
    using System.IO; 
    using System.Web; 


    public class RSSHandler : IHttpHandler 
    { 
     public void ProcessRequest (HttpContext context) 
     { 
      context.Response.ContentType = "text/xml"; 
      context.Response.ContentEncoding = System.Text.Encoding.UTF8; 

      string sXml = BuildXMLString(); //not showing this function, 
      //but it creates the XML string 

      context.Response.Cache.SetExpires(DateTime.Now.AddSeconds(600)); 
      context.Response.Cache.SetCacheability(HttpCacheability.Public); 
      context.Response.Write(sXml); 
     } 

     public bool IsReusable 
     { 
      get { return true; } 
     } 

    } 

} 

你有它。看起來非常像我們創建的第一個代碼,不是嗎?至於緩存,您可以通過訪問代碼中的Cache對象來解決它,請參閱context.Response.Cache調用。

源代碼是:aspcode.net

0

你可能只需要到「page'.ashx文件添加到默認的文件在IIS服務器設置列表。您可能會像其他任何Web應用程序一樣部署它。

相關問題