マンガでよめる痔のこと・薬のこと

.NETで開発したWEBアプリをサーバに置いてクライアントで
確認しようとすると、以下のエラーが表示されました。
表示内容に従ってWeb.Configファイルを変更したつもり
なのですが、表示内容が変更されません。
解決方法をご存知の方、御回答願います。

ランタイム エラー
説明 : サーバーでアプリケーション エラーが発生しました。このアプリケーションの現在のカスタム エラー設定では、セキュリティ上の理由により、アプリケーション エラーの詳細をリモート表示できません。 ただし、ローカル サーバー コンピュータで実行されているブラウザで表示することはできます。

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


<!-- Web.Config 構成ファイル -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>


メモ: 現在表示されているエラー ページをカスタム エラー ページ に変更するには、アプリケーションの <customErrors> 構成タグの "defaultRedirect" 属性をカスタム エラー ページ URL に置き換えます。


<!-- Web.Config 構成ファイル -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>

このQ&Aに関連する最新のQ&A

A 回答 (1件)

ディレクトリへのアクセス許可とか、権限とかいろんな原因が考えられますが、とりあえず根本の原因調査のためにlocalhostで動作さ

せてみては?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QASP.NETのサーバー移行に伴うエラーについて教えて下さい

こんばんわ。

localの開発環境で作ったASP.NETのアプリケーションを、サーバーに置いて実行するとエラーが出てしまいます。

色々、調べてhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12465&forum=7&1のサイトと同じ事を行ったのですがエラーは
解消できず困っています。

ご存知の方、ご教示下さいませ。
よろしくお願い致します。

Aベストアンサー

<customErrors mode="Off"/> の部分だけではなく、
web.config 全体を
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings ~DB接続とかあればDB接続情報~/>
<system.web>
<compilation debug="true" strict="false" explicit="true" />
<customErrors mode="Off"/>
</system.web>
</configuration>

に書き直してみてください。

もし、web.config の全書き換えができる状況にない場合は、
可能な範囲で構いませんのでweb.configの情報を頂けたら
助かります!

# 何度もすいません...

QWEBアプリケーション作成でランタイムエラー

visual web developer 2010 Expressを使用してWeb アプリケーションプロジェクトを作成しています。
環境は以下です。
WEBサーバ:Windows Server 2008 R2 Standard
SQLServer:microsoft SQL SERVER 2008 R2 Express版
IISのバージョン:Version7.5.7600.16385
.NET のバージョン:Microsoft .NET Framework 4
使用ブラウザ:IE,Firefox,Chrome(すべて最新バージョン)
使用言語:VB

ローカルで作成して正常に動作していたWEBアプリケーションを
サーバーにうつして実行してみたのですが,
ランタイムエラーが出てしまいました。

Server Error in '/scripts/×××/×××' Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>


Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.


<!-- Web.Config Configuration File -->

<configuration>
<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
</system.web>
</configuration>

指示のとおり,web.configを開いて以下を記述してみましたが

<system.web>
<customErrors mode="Off"/>
</system.web>

今度は
ユーザー 'NT AUTHORITY\ANONYMOUS LOGON' はログインできませんでした。
というエラーが出てしまいます。

原因かと思われる点は,
いままではvisual web developerで「プロジェクト」を編集して作成し,
都度「WEBアプリケーションに変換」してWEBサーバー上にコピーしていたのですが,
今回は別の人から引き継いだのでWEBアプリケーションを直接編集していたことです。
あとは,今回引き継いだあとにajax cotrol toolkitを導入しましたが
このあたりは関係あるのでしょうか。

同フォルダに,htmlファイルを作成してコピーしてみたところ
そちらは正常に表示されました。
また,デモ用にプロジェクトを新規作成して,
同様に仮想ディレクトリを作成し,コピーしてみたところ
正常に表示されました。
なのでサーバーやIISの問題ではないのではないかと思っています。

原因は何が考えられるでしょうか?教えてください。

visual web developer 2010 Expressを使用してWeb アプリケーションプロジェクトを作成しています。
環境は以下です。
WEBサーバ:Windows Server 2008 R2 Standard
SQLServer:microsoft SQL SERVER 2008 R2 Express版
IISのバージョン:Version7.5.7600.16385
.NET のバージョン:Microsoft .NET Framework 4
使用ブラウザ:IE,Firefox,Chrome(すべて最新バージョン)
使用言語:VB

ローカルで作成して正常に動作していたWEBアプリケーションを
サーバーにうつして実行してみたのですが,
ランタイムエラーが...続きを読む

Aベストアンサー

VisualStudioで開発している場合、開発用のWebサーバーが使われます。
で、この場合の実行時のユーザーが持つ権限と、実際にIISに配置して実行した場合の実行時のユーザーの権限は異なります。

ログインできない、というメッセージだと一番きになるのはデータベースとの接続に使われるユーザーの権限等がきちんと動くように設定できていないのではないかと思います。

たぶんデータベースをIIS上で正しく動作するようにどのような設定をしないといけないか、きちんと勉強する必要があるかと。

QASP.NETでのメッセージ画面を出すには

はじめまして。
ASP.NET(C#)で、開発をしています。
例えば、内部である処理が終わった後に「完了!」みたいなメッセージ画面をポップアップさせたいと思っております。いろいろ調べてはいるんですが、方法がわかりません。JSを使わなければならないのかなとは思いますが、具体的な方法がわかりません。
よい方法がありましたら、教えていただけないでしょうか。よろしくお願いいたします。

Aベストアンサー

確認は取れていませんが、多分以下のHPの内容でいけると思いますが…。
参考に如何でしょうか。

・ASP.NETでメッセージボックス(OK・NO)の処理について
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5952&forum=7&6

・Webアプリでメッセージボックスを使いたい
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1644&forum=7&7

Qweb.configとは?(初心者です)

Web開発をしております。友人がweb.configの話をするのですが、私はそれは、使っておりません。web.configとは、ASP.NETを使用するときにのみ、使う設定ファイルなのでしょうか?
また、ASP.NET開発にて、web.configを使用しないと代替するものってなんなのでしょうか?
どうか、教えてください。お願いします。

Aベストアンサー

"web.config" で検索すればいくらでも出てくると思うのですが・・・

http://www.google.com/search?num=50&hl=ja&q=web.config%E3%81%A8%E3%81%AF&lr=lang_ja

http://www.google.com/search?num=50&hl=ja&q=%22web.config%E3%81%A8%E3%81%AF%22&lr=lang_ja

これらの数件を読むだけで解決すると思いますよ。
特に「今は使っていない」に対する解決は
http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet18/aspnet18_01.html
の Page1~Page3 あたりで済むかもしれませんね。

QDataTableに特定のフィールドが存在するかどうか調べるには?

DataTableに登録されているフィールドに、特定のフィールドが存在しているかどうか調べるには、どのようにすればよいでしょうか?

dtTable.Columns.Add("TEST1")
dtTable.Columns.Add("TEST2")

dtTableにTEST1とTEST2のフィールドが登録されていたとして、

Dim tmp As String = dtTable.Rows(0).Item("TEST3"),ToString

TEST3のフィールド名で値を取得しようとすると、TEST3の列が登録されていない為、エラーとなります。

そこで、事前にTEST3というフィールドが、DataTableに存在するかどうか調べたいのです。
(ハッシュテーブルのContainsKeyメソッド等のようなものを求めています)
お分かりになる方がいましたら、宜しくお願いします。

Aベストアンサー

DataColumnCollection.Contains メソッド
http://msdn2.microsoft.com/ja-jp/library/system.data.datacolumncollection.contains(VS.80).aspx
を使用すればよいと思います。

ちなみに、DataTable.Columns が DatacolumnCollection クラスです。

Qpingでポートの指定

pingでIPアドレスを指定して、通信できるかどうかというのは
よく使いますが、pingでポートを指定して応答するかどうかは調べられるのでしょうか?

よろしくお願いします

Aベストアンサー

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含むICMP)ではできません。

FTPの疎通確認であれば、クライアントからサーバに対するTCP/21通信(FTP-CMD)が可能であること(サーバからクライアントへのTCP/21からの応答を含む)+サーバからクライアントに対するTCP/20通信(FTP-DATA)が可能であること(クライアントからサーバへのTCP/21からの応答を含む)が必要でしょう。

監視ソフトによるものであれば、
・クライアントからサーバへのログイン(TCP/21)
・クライアントからサーバへのlsの結果(TCP/20)
で確認すればよいでしょう。

pingを含むICMPというプロトコルは、OSIの7レイヤで言うところのL2(同一セグメント内通信)とL3(IPルーティングされた通信)の両方にまたがる、ちょっと珍しいプロトコルです。

IPアドレスは指定できますが、別サブネットに属するIPアドレスに到達できればL3通信、できなければゲートウェイと呼ばれる同一サブネットに属する中継装置からの回答を得るという点でL2(MAC通信ではなく、同一セグメント内通信という意味)通信です。

ポート番号はL4で使用されるアドレスですから、L4機能の疎通確認はping(を含む...続きを読む

QIISでローカル内からhttp://localhostと入れても表示されない

windows2000 server で「既定のWebサイト」上でサービスを開始させました。
ちゃんと表示されるかと思いインターネットエキスプローラを開き
http://localhost と入力して表示されるか試したのですが、下記のようなメッ
セージが表示され閲覧する事ができません。
何か打開策はありますでしょうか?





エラー
リクエストされた URL は取得できませんでした

--------------------------------------------------------------------------------

以下の URL を取得した際に: http://localhost/

次のエラーが発生しました:

以下のホスト名の IP address を調べられません. localhost
DNS サーバが以下のエラーを返しました:

Name Error: The domain name does not exist.
この意味は次の通りです:

キャッシュは URL 中のホスト名から IP address を調べることができませんでした.
アドレスが間違っていないか確認してください.

windows2000 server で「既定のWebサイト」上でサービスを開始させました。
ちゃんと表示されるかと思いインターネットエキスプローラを開き
http://localhost と入力して表示されるか試したのですが、下記のようなメッ
セージが表示され閲覧する事ができません。
何か打開策はありますでしょうか?





エラー
リクエストされた URL は取得できませんでした

--------------------------------------------------------------------------------

以下の URL を取得した際に: http://localhost/ ...続きを読む

Aベストアンサー

>しかしなぜlocalhostでは表示されないのでしょうか?

DNSの仕組みに関係します。
localhostと言う名前から127.0.0.1というIPアドレスを求めるのがDNSの役割です。
その際、WindowsNT/2000/XPのDNSサーバはhostsファイルを参照します。(hostsにない名前は、さらに上位のDNSサーバに問い合わせます。)
localhostという名前は特殊なので、hostsがその情報を持っていなくてはならないのです。

今回のケースではhostsが存在しないようなので、hostsをメモ帳で作成する手順をご紹介しておきます。 (説明の都合上、Cドライブのルートディレクトリで作業します。)
(1)次のファイルが存在するか確認してください。
C:\WINNT\system32\drivers\etc\hosts.sam
 ・存在する→Cドライブのルートディレクトリにhosts.txtと言う名前でコピーし、メモ帳で開く。
   copy C:\WINNT\system32\drivers\etc\hosts.sam c:\hosts.txt
   notepad c:\hosts.txt
 ・存在しない→メモ帳でc:\hosts.txtを新規作成する。
   notepad c:\hosts.txt

(2)次の1行をhosts.txtの最後に追加します。127.0.0.1とlocalhostの間には半角スペースを7つ以上入れ、行のおしりには改行を入れます。
127.0.0.1 localhost
     ↑     ↑
     |    改行
 半角スペースx7

(3)hosts.txtを上書き保存します。

(4)hosts.txtをシステムディレクトリに移動します。この際に拡張子txtを取り除きます。
move c:\hosts.txt C:\WINNT\system32\drivers\etc\hosts

(5)Windowsを再起動します。

以上がその手順です。
これでlocalhostが127.0.0.1として認識されるはずですが、システムディレクトリをいじりますので慎重に作業してください。
作業手順が理解できない場合、作業に不安を感じる場合はやらないほうが無難です。

>しかしなぜlocalhostでは表示されないのでしょうか?

DNSの仕組みに関係します。
localhostと言う名前から127.0.0.1というIPアドレスを求めるのがDNSの役割です。
その際、WindowsNT/2000/XPのDNSサーバはhostsファイルを参照します。(hostsにない名前は、さらに上位のDNSサーバに問い合わせます。)
localhostという名前は特殊なので、hostsがその情報を持っていなくてはならないのです。

今回のケースではhostsが存在しないようなので、hostsをメモ帳で作成する手順をご紹介しておきます。 (説明の...続きを読む

Qコマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法

ipアドレスは分かっていますがコンピュータ名が分かりません。リモート接続ソフトなどは使えないので、それでコンピュータ名を調べることはできません。
コマンドプロンプトを使ってipアドレスからコンピュータ名を知る方法を教えてください!

Aベストアンサー

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理しており、対象IPについても管理者の管理下にある場合……以下2つのいずれかの方法で検索できます。

  nslookup <IP address>

または

  nslookup -q=ptr <reverse ip>.in-addr.arpa.
  ex) 192.168.12.1 のIPを調べたい場合、以下のように入力する
  nslookup -q=ptr 1.12.168.192.in-addr.arpa.

  (DNSサーバで逆引きが設定されていないと、正しく検索できない場合があります)

パターン3:
上記以外の場合

外部から名前解決できないので、調べようがありません。または、調べてもそれが正しいホスト名である保証がありません。
そのIPの端末自体に設定されているホスト名を直接調べるしかありませんが、それには実際にそのIPの端末を操作して調べるしかありません。
つまり、No.2さんの回答となるのですが、
IPを使用しているのがWindows PCやUnixサーバなどである保証はないので、確認するコマンドはその端末の種類(OS)によって異なります。

なお、tracert (traceroute)を使用する、という回答がありますが、これはパターン1またはパターン2のいずれかまたは両方を満たしていないと表示されませんので、厳密には正しい答えとはいえません。
(たいていの場合、"tracert <IP address>" や "ping <IP address>"で用が足りてしまうことも多いので、必ずしも間違いではないのですが)

なんか回答がバラバラなので整理しましょう。
調査している自分自身が使用している端末は、Windows XPのPCであると仮定します。
また、調べるのは基本的に外部から名前解決可能な名前(No.2さんの言う"2"に相当する名前)とします。

パターン1:
対象のIPアドレスがWindows端末機で、自分が使用している端末と同じネットワークに属しているか同一のWINSサーバを参照しているとき……No.4さんの答えで検索できます。

nbtstat -A <IP Address>

パターン2:
ネットワーク管理者がDNSをきちんと管理して...続きを読む

Qオブジェクト参照がオブジェクト インスタンスに設定されていません  というエラーについて

タイトルの「オブジェクト参照がオブジェクト インスタンスに設定されていません」についてですが、

このエラーは、

null を参照しようとして例外が発生している

エラーだと解釈しているのですが、nullでないのに、このエラーが出る場合はどのように対処すればいいのか教えてください。

下記のような文があるとします。

Dim aaa as String
'aaaは、データベースからデータをとってきています。

If aaa IsNot DBNull.Value Then
DropDownList.SelectedItem.Text = aaa.TrimEnd 'ここでエラー
End If

aaaは、NullではないのでIf文の中に入っていくのですが、DropDownListにデータを入れようとすると、タイトルのようなエラーが発生します。

デバッグでaaaの値を見ても、ちゃんとデータが入っているし、Nullではないのですが、なぜこのようなエラーが出るのかわかりません。

このエラーは他に違う意味があるのでしょうか?

また、他に影響している部分があるのでしょうか?

どなたか教えてください。

よろしくお願いいたします。

タイトルの「オブジェクト参照がオブジェクト インスタンスに設定されていません」についてですが、

このエラーは、

null を参照しようとして例外が発生している

エラーだと解釈しているのですが、nullでないのに、このエラーが出る場合はどのように対処すればいいのか教えてください。

下記のような文があるとします。

Dim aaa as String
'aaaは、データベースからデータをとってきています。

If aaa IsNot DBNull.Value Then
DropDownList.SelectedItem.Text = aaa.TrimEnd 'ここでエ...続きを読む

Aベストアンサー

SelectedIndexは何番目の行かということを示すので、数値でなければ
なりません。Items(i).Text=aaaになるiを見つけて設定します。
FindByTextかFindByValueで検索したListItemを使って、IndexOfで
インデックスを求める方法がスマートでしょうか。

http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listitemcollection.findbytext(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listitemcollection.findbyvalue(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listitemcollection.indexof(VS.80).aspx

>表示するデータと値のデータを別々に設定
Text(表示するデータ)とValue(値のデータ)を仕込んだListItemを
Add(場合によってはInsert)メソッドで追加(挿入)します

http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listitem(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listitemcollection.add(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listitemcollection.insert(VS.80).aspx

SelectedIndexは何番目の行かということを示すので、数値でなければ
なりません。Items(i).Text=aaaになるiを見つけて設定します。
FindByTextかFindByValueで検索したListItemを使って、IndexOfで
インデックスを求める方法がスマートでしょうか。

http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listitemcollection.findbytext(VS.80).aspx
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.listitemcollection.findbyvalue(VS.80).aspx
http://msdn.microsoft...続きを読む

Qwin2008serverでaspxを表示させたい

Windows2008ServerにVisualStudio2008(C#)で開発した、
Webコンテンツをのせようとしていますが、
うまくaspxファイルを開くことができません。

<エラー概要>
HTTP エラー 404.3 - Not Found
拡張構成により、要求しているページは使用できません。ページがスクリプトの場合は、ハンドラを追加します。ファイルをダウンロードする場合は、MIME マップを追加します。
<エラー情報の詳細>
モジュール StaticFileModule
通知 ExecuteRequestHandler
ハンドラ StaticFile
エラー コード 0x80070032
<可能性のある原因>
ハンドラ マッピングが存在しない可能性があります。既定では、静的なファイル ハンドラですべてのコンテンツが処理されます。
使用する機能がインストールされていない可能性があります。
適切な MIME マップが Web サイトまたはアプリケーションに対して有効化されていません (警告: .ASPX ページ や .config ファイルなど、ユーザーがダウンロードできないコンテンツに対する MIME マップは作成しないでください)。
ASP.NET がインストールされていない場合。

などと出ていますが、何が原因なのか特定できていません。

サイトは、Default Web Siteに"TEST"として、登録されています。
気になっているのがMIMEの種類というやつで、
拡張子『.aspx』がここに登録されていません。
ちなみに、拡張子『.htm』はMIMEの種類に登録されていて、
簡単なhtmファイルを同じ階層においてブラウザで
確認したところ*.htmファイルは見ることができました。

これだけの情報ですが、何かヒントになるようなことでもあれば、
教えていただけませんでしょうか。
よろしくお願いいたします。

Windows2008ServerにVisualStudio2008(C#)で開発した、
Webコンテンツをのせようとしていますが、
うまくaspxファイルを開くことができません。

<エラー概要>
HTTP エラー 404.3 - Not Found
拡張構成により、要求しているページは使用できません。ページがスクリプトの場合は、ハンドラを追加します。ファイルをダウンロードする場合は、MIME マップを追加します。
<エラー情報の詳細>
モジュール StaticFileModule
通知 ExecuteRequestHandler
ハンドラ StaticFile
エラー コード 0x80070032
...続きを読む

Aベストアンサー

確認ポイントはいくつかありますが、まず一番基本のサーバーマネージャの役割の追加でASP.NETが有効になっていますか。

Windows Server 2008 での IIS 7.0 および Visual Studio を使用した Web アプリケーションの実行
http://msdn.microsoft.com/ja-jp/library/bb763178.aspx

あとはIISで仮想ディレクトリを作成するときにスクリプトの実行を許可すれば、通常は動くと思います。


人気Q&Aランキング