- ベストアンサー
IISの仮想ディレクトリ作成に関する質問
- IISの仮想ディレクトリ作成についてわからないため、質問いたします。ASP.NETアプリケーションを配置しようとした際にエラーが発生しました。エラーの内容や解決方法について教えてください。
- IISの仮想ディレクトリ作成に関して、以下のエラーメッセージが表示されます。「'/WEB' アプリケーションでサーバー エラーが発生しました。」このエラーの原因や解決策について詳しく教えてください。
- Windows2000サーバーの環境でIIS5.0を使用しています。ASP.NETアプリケーションを配置しようとした際にエラーが発生し、仮想ディレクトリの作成を試みましたが解決しませんでした。作業手順や可能性のある問題点についてアドバイスをいただけますか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず、Web.config修正したら、エラーが出るようになりましたね。 Webの仕組みを理解して頂きたいのですが、 MsgBoxを書いている箇所は「Webサーバー側」の処理になります。 「Webサーバー側」でMsgBoxは、使用できません。 また、Web Developer で、MsgBoxが通ったのは、 Webサーバーとクライアントが同じPCだからです。 Webサーバーとクライアントが別PCになった時、MsgBoxは 動きませんので、それでエラーになったんじゃないかと思います。 その代わり、クライアント側の処理で、JavaScriptを使って alert(VBでいうMsgBoxとほぼ同じ)を使えば、 メッセージが出力されるようになります。 詳しくは、 http://moo-asp.net/wiki/NWiki.aspx?page=MsgBox をご覧下さい。
その他の回答 (2)
- kero_mio
- ベストアンサー率90% (94/104)
補足ありがとうございます。 えーと、恐らく、allowDefinition='MachineToApplication' と あるので、Web.configではなく、machine.config の設定を 参照してますね。 どんなWebアプリを作りたいのかわからないので、 machine.config をどこまでいじっていいものなのか判断 つきませんが、Web.config の55行目 <authentication mode="Windows"/> の部分を 削除して、Web.configを保存してみてください。 その後、Webアプリを動かしてみてください。 # 予想では、正常に動くか、もしくはまったく別のエラーが 出るのではないかと思います。
補足
ありがとうござます☆ ご教示頂いた通りに行った所、aspxが表示されました。 もう1点だけ教えて下さい。 テストでボタンを押下するとIPアドレスが表示されるアプリケーションで 試したところ以下のエラーが出たのですがこれはどの様な問題なのでしょうか? Web Developerではうまく起動していたのですが。。。 お手数ですが再度、ご教示下さいませ。 '/test' アプリケーションでサーバー エラーが発生しました。 -------------------------------------------------------------------------------- アプリケーションが UserInteractive モードで実行されていないときに、モーダル ダイアログまたはフォームを表示することは有効な操作ではありません。サービス アプリケーションからの通知を表示するには、ServiceNotification または DefaultDesktopOnly スタイルを指定してください。 説明: 現在の Web 要求を実行中に、ハンドルされていない例外が発生しました。エラーに関する詳細および例外の発生場所については、スタック トレースを参照してください。 例外の詳細: System.InvalidOperationException: アプリケーションが UserInteractive モードで実行されていないときに、モーダル ダイアログまたはフォームを表示することは有効な操作ではありません。サービス アプリケーションからの通知を表示するには、ServiceNotification または DefaultDesktopOnly スタイルを指定してください。 ソース エラー: 行 17: ipAddr = ip.AddressList(0) 行 18: 行 19: MsgBox(ipAddr.ToString(), MsgBoxStyle.OkOnly) 行 20: 行 21: End Sub ソース ファイル: D:\web\test\web\Data\IPAddressConfirmation.aspx.vb 行: 19 スタック トレース: [InvalidOperationException: アプリケーションが UserInteractive モードで実行されていないときに、モーダル ダイアログまたはフォームを表示することは有効な操作ではありません。サービス アプリケーションからの通知を表示するには、ServiceNotification または DefaultDesktopOnly スタイルを指定してください。] System.Windows.Forms.MessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, Boolean showHelp) +1801618 System.Windows.Forms.MessageBox.Show(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options) +26 Microsoft.VisualBasic.Interaction.MsgBox(Object Prompt, MsgBoxStyle Buttons, Object Title) +544 IPAddressConfirmation.Button1_Click(Object sender, EventArgs e) in D:\web\mcs\with\wF_Osm_Data\IPAddressConfirmation.aspx.vb:19 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102 -------------------------------------------------------------------------------- バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.42; ASP.NET バージョン:2.0.50727.210
- kero_mio
- ベストアンサー率90% (94/104)
えーと、まず、「D:\web\test\sample\web.config 行: 55 」 とWeb.configの書き方に問題があるというエラーが出ているのですから、 Web.config の55行目にどんな記述があるか確認してみてください。 Web.configのことがよくわからなければ、可能な範囲で構いませんので、 Web.configの55行目 前後の記述内容を教えて下さい。 仮想ディレクトリうんぬんの話より、まずはエラーの原因を追究する方が、先なのではないかと思います。
補足
>仮想ディレクトリうんぬんの話より、まずはエラーの原因を追究する方が、>先なのではないかと思います。 おっしゃる通りです。 web.configは以下の記述になります。 宜しくお願い致します。 <?xml version="1.0"?> <!-- メモ: このファイルを手動で編集する代わりに、Web 管理ツールを使用 してアプリケーションの設定を構成することができます。Visual Studio の [Web サイト] メニューにある [ASP.NET 構成] オプションから設定 を行ってください。設定およびコマンドの一覧は、通常 \Windows\Microsoft.Net\Framework\v2.x\Config にある machine.config.comments で確認できます。 --> <configuration> <appSettings/> <connectionStrings> <add name="WebConnectionString" connectionString="Data Source=WEB;Initial Catalog=Web;Persist Security Info=True;User ID=id;Password=pass" providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> <!-- デバッグ シンボルをコンパイルされたページに挿入するに は、compilation debug="true" に設定します。この設 定はパフォーマンスに影響するため、開発時のみこの値 を true に設定してください。 Visual Basic オプション: データの損失が発生する可能性のあるすべてのデータ型 の変換を無効にするには、strict="true" に設定します。 すべての変数の定義を強制するためには、explicit="true" に設定します。 --> <compilation debug="true" strict="false" explicit="true"/> <pages> <namespaces> <clear/> <add namespace="System"/> <add namespace="System.Collections"/> <add namespace="System.Collections.Specialized"/> <add namespace="System.Configuration"/> <add namespace="System.Text"/> <add namespace="System.Text.RegularExpressions"/> <add namespace="System.Web"/> <add namespace="System.Web.Caching"/> <add namespace="System.Web.SessionState"/> <add namespace="System.Web.Security"/> <add namespace="System.Web.Profile"/> <add namespace="System.Web.UI"/> <add namespace="System.Web.UI.WebControls"/> <add namespace="System.Web.UI.WebControls.WebParts"/> <add namespace="System.Web.UI.HtmlControls"/> </namespaces> </pages> <!-- <authentication> セクションは、ユーザーを識別するため に、ASP.NET で使用されるセキュリティ認証モードの構成 を有効にします。 --> <authentication mode="Windows"/> <!-- <customErrors> セクションは、要求の実行中にハンドル されていないエラーが発生した場合の処理方法の構成を 有効にします。具体的には、開発者が HTML エラー ペ ージをスタック トレースのエラーの代わりに表示するように構 成することを可能にします。 <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> --> <customErrors mode="Off"/> </system.web> </configuration>
お礼
kero_mioさん ありがとうございます☆ スクリプトの問題だったのですね。。。 アプリケーションが動く様になって本当に助かりました♪ 感謝しております! ご丁寧にご教示頂きましてありがとうございます。 URL参考にさせて頂きます!