0

.ashx ファイルを Web アプリケーションの開始 (または既定) ページとして設定することはできますか? もしそうなら、それはどのように行われますか?

編集- いくつかの良い提案。IIS の既定のドキュメントに "Default.ashx" を追加し、Web サイトの "既定のドキュメントを有効にする" を追加しましたが、ディレクトリの参照を無効にしているにもかかわらず、ディレクトリの一覧しか表示されません。

他の提案をいただければ幸いです。(IIS バージョン 5.1)

編集- IIS を再起動すると動作します。

質問- Visual Studio 2005 内からスタート ページを .ashx に設定することは可能ですか? これを行った後、Visual Studio 内からデバッグできないようです。

回答- アプリケーション プロパティの [Web] タブで [開始アクション] を選択できます。実際、使用するサーバー/ポートとデバッガーを選択することもできます。とてもかっこいい。

4

3 に答える 3

5

ASHXページを追加し、リストの一番上に移動してください。

また、IIS7では、web.configで指定できます。

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

このブログ投稿の詳細

編集: @wavesが発見したように、構成後にIISを再起動する必要がある場合があります。


ディレクトリブラウジングを無効にするには、[ディレクトリブラウジング]チェックボックスをオフにします。

于 2009-01-18T01:09:22.857 に答える
0

IISのようなデフォルトのアプリケーションサーバーに設定するだけです。ashxへのハンドラーを作成することがポイントである場合は、次のように実行できます。

したがって、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

于 2009-01-18T00:39:08.017 に答える
0

IISサーバー設定のデフォルトファイルのリストに「page」.ashxファイルを追加する必要がある場合があります。おそらく、他のWebアプリケーションと同じようにデプロイできるでしょう。

于 2009-01-18T00:41:22.040 に答える