- PR -

Web.Configについて

投稿者投稿内容
アルゴ
常連さん
会議室デビュー日: 2004/10/06
投稿数: 36
投稿日時: 2006-06-09 18:30
どっとねっとふぁんさん、ありがとうございます。

付属アプリのWeb.Confignの<deny users="*"/>を削除して、
<httpHandlers>を追加するとエラーページになりました。

>HttpHandlerの実装をすれば特定のページを表示させるなんてことも可能か?

実装ってどうすればいいのでしょう。。。
一度自分で調べてみます。
わからなければお聞きしてもいいでしょうか?
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-06-09 20:38
HttpHandlerを利用する方法です。
まず、以下をクラスライブラリ(dll)としてコンパイルしてください。

---------------------------------------------
using System;
using System.Web;

namespace redirectHTML
{
public class Redirecter: IHttpHandler
{
public bool IsReusable
{
get
{
return (true);
}
}

public void ProcessRequest(HttpContext context)
{
context.Response.Write("現在利用できません");
}
}
}
---------------------------------------------

これでできたdllをWebアプリケーションのルートにbinフォルダを
作成して、その中に配置します。
そして、付属フォルダのweb.configを下記のようにします。

---------------------------------------------
<configuration>
<system.web>
<httpHandlers>
<add path="*" verb="*" type="redirectHTML.Redirecter" validate="True" />
</httpHandlers>
</system.web>
</configuration>
---------------------------------------------

これで実行すると、付属アプリのフォルダのファイルにアクセスしたときに
"現在利用できません"という文字が表示されると思います。
この文字のところを適当なHTMLファイルに直せばいけるかと。

ちなみに、この手で回避できるのは付属フォルダの中のaspxファイルに
アクセスしようとしたときですね。
htmlファイルがあったりすると、それは表示されてしまうかな。

付属アプリを動かすときには上記のweb.configを消せばOKです。
アルゴ
常連さん
会議室デビュー日: 2004/10/06
投稿数: 36
投稿日時: 2006-06-09 21:56
どっとねっとふぁんさんには
何から何までお世話になりっぱなしで大変申し訳ありません。

さっそく来週の月曜日に会社で試してみます。

ありがとうございます。




アルゴ
常連さん
会議室デビュー日: 2004/10/06
投稿数: 36
投稿日時: 2006-06-12 14:27
どっとねっとふぁんさん、解決しました。
ありがとうございました。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2006-06-12 18:23
もう試されているかもしれませんが。。。
dllのProcessRequestメソッドを以下のよう修正すると、Webアプリのルートにある
err.htmファイルが表示されるようになります。

context.Response.Redirect("~/err.htm");

まぁ、どちらを使ってもいいと思います。

スキルアップ/キャリアアップ(JOB@IT)