none
拡張子の制限をweb.configで解除する方法 RRS feed

  • 質問

  • 現在Azure SDK+VS2010で開発を試みていますが、どうも開発用の環境では一般的ではない拡張子のファイル全般に制限があるらしく、いくつかの拡張子(.modfや.lzh)でファイルがあっても404になります。ハンドラを登録すればそこで指定したパスのファイルへのアクセスはハンドラ呼び出しになりますが、ハンドラの登録を行いたいわけでもありません。単にアクセスの制限が撤廃できれば良いだけです。何か見落としているのでしょうか? それとも許可をする拡張子をweb.configで指定する方法があるのでしょうか? もし、おわかりの方がいればぜひお教えください。よろしくお願いいたします。

     

    2010年7月10日 8:48

回答

  • おはようございます。autumn009さん。

     

    単に404を出さずにアクセスするだけでよければ以下の方法はいかがでしょうか?

    VS2010のソリューションエクスプローラーで問題の拡張子のファイルを右クリックで選択

    →「プロパティ」→「出力ディレクトリにコピーする」

    を「常にコピーする」にする。

     

    これで自分の環境ではデバッグ実行をしてブラウザからファイルアクセスをした際に404にならず、ファイルダウンロードのダイアログが出力されるようになりました。

    この回答が、見当違いではなく問題が解決できればうれしいです。

    • 回答としてマーク autumn009MVP 2010年7月11日 5:19
    2010年7月10日 20:41

すべての返信

  • おはようございます。autumn009さん。

     

    単に404を出さずにアクセスするだけでよければ以下の方法はいかがでしょうか?

    VS2010のソリューションエクスプローラーで問題の拡張子のファイルを右クリックで選択

    →「プロパティ」→「出力ディレクトリにコピーする」

    を「常にコピーする」にする。

     

    これで自分の環境ではデバッグ実行をしてブラウザからファイルアクセスをした際に404にならず、ファイルダウンロードのダイアログが出力されるようになりました。

    この回答が、見当違いではなく問題が解決できればうれしいです。

    • 回答としてマーク autumn009MVP 2010年7月11日 5:19
    2010年7月10日 20:41
  • おはようございます。autumn009さん。

     

    単に404を出さずにアクセスするだけでよければ以下の方法はいかがでしょうか?

    VS2010のソリューションエクスプローラーで問題の拡張子のファイルを右クリックで選択

    →「プロパティ」→「出力ディレクトリにコピーする」

    を「常にコピーする」にする。

     

    これで自分の環境ではデバッグ実行をしてブラウザからファイルアクセスをした際に404にならず、ファイルダウンロードのダイアログが出力されるようになりました。

    この回答が、見当違いではなく問題が解決できればうれしいです。

     ありがとうございます。バージョンが違うためか若干違う操作を要求されましたが、以下の対処でバッチリでした。

    1. ファイルのプロパティをソリューションエクスプローラから開く
    2. 「ビルドアクション」を「なし」から「コンテンツ」
    3. 「出力ディレクトリにコピー」を「コピーしない」から「常にコピーする」

     バージョンは関係がありそうなものだけ抜くと以下の通りです。

    • Microsoft Visual C# 2010   01018-532-2002102-70564
    • Windows Azure Tools for Microsoft Visual Studio 2010 v1.2.30517.1601

     つまり、ASP.NETでデバッグするときはソリューションのフォルダのままで動くからビルドアクションも出力ディレクトリにコピーすることも関係なかったけれど、Azureの場合はデプロイされるのが前提なので「コピーの指定」の初期値が「コピーしない」となっている一般的ではないファイルはプロジェクトに追加してもそれだけでは参照できないわけですね。

    2010年7月11日 5:28