- PR -

Web.configファイルの階層配置について

1
投稿者投稿内容
ボンバイエ
会議室デビュー日: 2003/12/11
投稿数: 7
投稿日時: 2004-06-14 09:36
お世話になっております。

VS2002(.NET Framework1.0SP2)、ASP.NET(C#)で開発を行なっています。
また追加コンポネーントとしてUltraWebGrid2.0J,CrystalReports9を使用しています。
現在のプロジェクトではルートディレクトリにWeb.configを配置してあり、
この度追加した一部の画面のみtimeout値を変更したい為、
プロジェクト内にフォルダを作成し、hogehoge.aspxとWeb.configを追加しました。
しかしながら実行してhogehoge.aspxを起動しようとすると
ランタイムエラー(以下参照)となってしまいます。

////////////////////////////////////////////////////////////////////////////////

'/xxx' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------

ランタイム エラー
説明 : サーバーでアプリケーション エラーが発生しました。このアプリケーションの現在のカスタム エラー設定では、アプリケーション エラーの詳細を表示できません。

詳細: このエラー メッセージの詳細をローカル サーバー コンピュータで表示できるようにするには、現在の Web アプリケーションのルート ディレクトリにある "web.config" 構成ファイル内に、<customErrors> タグを作成してください。その後で、この <customErrors> タグで "mode" 属性を "RemoteOnly" に設定してください。詳細をリモート コンピュータで表示するには、"mode" を "Off" に設定します。


  <!-- Web.Config 構成ファイル -->
  
  <configuration>
   <system.web>
   <customErrors mode="RemoteOnly"/>
   </system.web>
  </configuration>
  
  
  メモ: 現在表示されているエラー ページをカスタム エラー ページ に変更するには、ア  プリケーションの <customErrors> 構成タグの "defaultRedirect" 属性をカスタム エ  ラー ページ URL に置き換えます。
  
  
  <!-- Web.Config 構成ファイル -->
  
  <configuration>
   <system.web>
   <customErrors mode="On" defaultRedirect="mycustompage.htm"/>
   </system.web>
  </configuration>

////////////////////////////////////////////////////////////////////////////////

色々と試してみたのですが、どうもだめみたいです。
Web.configファイルを削除すると上記のエラーは発生しません。
ちなみに追加した子ディレクトリのWeb.configは以下の通りです。

////////////////////////////////////////////////////////////////////////////////

  <?xml version="1.0" encoding="utf-8" ?>
  <configuration>
  
   <system.web>
   <sessionState
   mode="InProc"
   stateConnectionString="tcpip=127.0.0.1:42424"
   sqlConnectionString="data source=127.0.0.1;user id=sa;password="
   cookieless="false"
   timeout="60"
   />
   </system.web>

  </configuration>

////////////////////////////////////////////////////////////////////////////////

皆様の力添えをお願いしたく投稿しました。宜しくお願い致します。
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2004-06-14 10:23
引用:

ボンバイエさんの書き込み (2004-06-14 09:36) より:
説明 : サーバーでアプリケーション エラーが発生しました。このアプリケーションの現在のカスタム エラー設定では、アプリケーション エラーの詳細を表示できません。

詳細: このエラー メッセージの詳細をローカル サーバー コンピュータで表示できるようにするには、現在の Web アプリケーションのルート ディレクトリにある "web.config" 構成ファイル内に、<customErrors> タグを作成してください。その後で、この <customErrors> タグで "mode" 属性を "RemoteOnly" に設定してください。詳細をリモート コンピュータで表示するには、"mode" を "Off" に設定します。


最初に表示されていることの意味は分かりますよね?
今の設定では詳細エラーが表示されないようになってますから、まず次の設定をして詳細なエラーを表示させてきてくださいってことですよね?
引用:

色々と試してみたのですが、どうもだめみたいです。


で、詳細なエラーの表示もできない状態ですか?

引用:

Web.configファイルを削除すると上記のエラーは発生しません。
ちなみに追加した子ディレクトリのWeb.configは以下の通りです。


多分SessionStateの設定を階層的に変更したりできないのが原因でしょう。
普通に考えれば分かりますが、一部の画面のみtimeoutを変更するって設定などできるとは思えません。
※どのように動作するのか想像が付きません。

まあ、timeout値についての話ではなくとも、基本的に設定によって上書き可能なものとそうでないものがあります。ASP.NETの動作の根本に関わる部分は上書きできません。
この辺は構成セクションのヘルプに載っていると思います。
ボンバイエ
会議室デビュー日: 2003/12/11
投稿数: 7
投稿日時: 2004-06-14 11:55
なちゃ様、ご返信ありがとうございます。

言葉不足してたが、CustomErrorsタグは属性を色々と変更したのですが、エラー情報を
表示させることができませんでした。
ルートディレクトリのWeb.configでカスタムエラーページにリダイレクトするように
設定しているのですが、そこが何かあるのかもしれません。
あとWeb.configは追加してtimeout値含め何もいじってない状態でもダメでした。

timeout値は変更できないですか・・・。もう一度ヘルプを読み返してみます。
変更できないということであれば、別プロジェクトを作成して、そちらへリダイレクト
するようにしてみようかと思います。

アドバイスありがとうございました。
1

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