0

カッシーニのServerクラスを使用して、基本的なWebサーバーを自分のアプリケーションに含めようとしています。サーバーの動作に慣れるためにそれをいじり始めたところです。次のような簡単なアプリをセットアップしました。

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

ディレクトリを参照できますが、ファイル、たとえばC#ソースファイル(* .cs)をクリックしようとすると、次のエラーが発生します。

'/'アプリケーションのサーバーエラー。

このタイプのページは提供されません。

説明:明示的に禁止されているため、リクエストしたタイプのページは提供されません。拡張子「.cs」が正しくない可能性があります。
以下のURLを確認し、スペルが正しいことを確認してください。

カッシーニライブラリでそのエラーテキストを検索しようとしましたが、何も見つかりませんでした。

このエラーはどこから来ていますか?どうすればファイルを提供できますか?asp.netとHTMLを実行することを意図していることは知っていますが、通常のサーバーと同じように任意のファイルをサーバー化することも望んでいます。

4

2 に答える 2

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>

おそらく、Web に面した実稼働環境でこれを行うことはお勧めしません。

于 2009-01-10T16:56:58.740 に答える
1

MS ASP.Net Web ページをダウンロードしてインストールするとうまくいきました。

http://www.microsoft.com/download/en/details.aspx?id=15979

S.

于 2011-11-05T04:19:42.743 に答える