none
ASP.netが動かない RRS feed

  • 質問

  • Visual Studio 2005(ASP.net)で作成したファイルを「Webサイトの発行」をしてIISの「既定の Web サイト」で仮想ディレクトリを作成しました。
    サーバー(Windows 2003 Server)のブラウザでアドレスを入力して表示できるかを確認したら表示できませんでした。

    サーバーには.net framework 2.0をインストールしています。

    イベントビューアを確認してみましたがエラーは出力されていませんでした。

    何が問題なのかわからず困っています。
    何がいけないのでしょうか。
    また.net framework 1.1もインストールした方がいいのでしょうか。

    些細な事でも何でも構いませんのでアドバイスいただけませんでしょうか。
    宜しくお願いします。

    2010年12月20日 2:36

回答

  • 皆さん、ありがとうございます。

    原因がわかりました。

    Windows2003ServerのSP2をインストールしてなかったのが原因でした。

    インストールして再起動後、下記のURLをブラウザで表示したところ認証画面を表示する事ができました。

    http://localhost/仮想ディレクトリ名/Default.aspx

    新たな問題が見つかったので別スレッドで質問させて下さい。

    本当にありがとうございました。

    • 回答としてマーク TOKYO_03 2010年12月20日 10:57
    2010年12月20日 10:57

すべての返信

  • どういうエラーメッセージがブラウザに出てくるでしょうかね。

    私がよくやってしまうところでは、サイトの実ディレクトリのアクセス許可が足りないというケースがあります。"ASPNET"、"IUSR_コンピュータ名"という2つのユーザに読み取り許可を与える必要がありますが、そちらはできていますでしょうか。

    2010年12月20日 2:41
  • IISの仮想ディレクトリのプロパティににASP.NETというタブがあると思うのですが、そこで2.0を指定していますか?

    表示しようとしたときどのようなURLを打ちましたか?

     


    http://blogs.wankuma.com/hatsune/
    2010年12月20日 3:07
  • 回答ありがとうございます。

    > IISの仮想ディレクトリのプロパティににASP.NETというタブがあると思うのですが、そこで2.0を指定していますか?

    はい、2.0を指定しています。

    > 表示しようとしたときどのようなURLを打ちましたか?

    http://localhost/仮想ディレクトリ名/

    宜しくお願いします。

    2010年12月20日 3:24
  • 早速の回答、ありがとうございます。

    ブラウザで表示したら際に表示されるメッセージは下記の内容です。

    ////////////////////////////////////////////////////////////
    ページを表示できません。
    検索中のページは現在、利用できません。Web サイトに技術的な問題が発生しているか、ブラウザの設定を調整する必要があります。
    ////////////////////////////////////////////////////////////

    試しに作成した仮想ディレクトリ先にtest.htmlを作成してブラウザで表示したらtest.htmlを表示する事ができましたので通常のHTMLは見れる事は確認しています。

    下記のユーザーを追加してみましたが結果は同じでした。
    > 私がよくやってしまうところでは、サイトの実ディレクトリのアクセス許可が足りないというケースがあります。"ASPNET"、"IUSR_コンピュータ名"という2つのユーザに読み取り許可を与える必要がありますが、そちらはできていますでしょうか。

    すみませんが再度、宜しくお願いします。

     

    2010年12月20日 3:53
  • エラーの画面に 400番台や500番台のエラーコードが表示されていませんでしたでしょうか?

    また、IISのログはどうなっていましたか?

    「インターネット インフォメーション サービス (IIS) のログ収集を有効にする方法」
    http://support.microsoft.com/kb/313437/ja

    2010年12月20日 4:00
  • 回答、ありがとうございます。

    ログ収集が有効になっていました。

    ログの内容を確認したら「301」と出力されていました。

    お恥ずかしい話、ネットで調べてもよくわかりませんでした。

    ご教授、お願いできませんでしょうか。

    宜しくお願いします。

     

    2010年12月20日 4:37
  • 301 !? ということは、どこかへリダイレクトするような設定をされていたりしますか?

    以下のページにある選択肢が、「このコンピューターにあるディレクトリ」ではなく「URLへのリダイレクト」になっていたりしませんか?
    もしなっていあ場合、このコンピューターにあるディレクトリを選択して、保存されているパスを指定するようにしてください。

    「IISでURLのリダイレクト(転送)を設定する(基本編) - @IT」
    http://www.atmarkit.co.jp/fwin2k/win2ktips/1197iisrdct/iisrdct.html

    2010年12月20日 4:53
  • 回答ありがとうございます。

    > 301 !? ということは、どこかへリダイレクトするような設定をされていたりしますか?

    いいえ、表示する画面ではリダイレクトはしていません。

    301はディレクトリに対応するURLの末尾に/を書かずにアクセスした場合にはっせいするんですね!

    知りませんでした。

    リダイレクトするようなページじゃないのになんで301のステータスコードが出力されたんでしょうか。

    IISの設定に問題があるんでしょうか。

    お手数をおかけしますがもう少し私にお付き合い下さい。

    宜しくお願いします。

    2010年12月20日 5:02
  • ログイン認証ページに飛ぼうとする、ということはありませんか?
    HTTP パケットを見ると、どこからどこに飛ぼうとしているかが分かると思うのですが。
    2010年12月20日 7:03
  • 回答ありがとうございます。

    > ログイン認証ページに飛ぼうとする、ということはありませんか?

    いいえ、認証画面を表示しているだけです。

    認証画面には「名前」と「パスワード」を入力するテキストボックスとボタンを配置しています。

    この画面で入力して[OK]ボタン押下後、認証OKの場合のみメニュー画面に遷移するようにしています。

    初歩的な事を聞いてすみませんが下記の方法を教えて下さい。

    > HTTP パケットを見ると、どこからどこに飛ぼうとしているかが分かると思うのですが。

    宜しくお願いします。

     

    2010年12月20日 7:47
  • ASP.NETは認証画面を表示する手段として、ログイン認証ページへリダイレクトを使用します。

    web.configに記載したログイン認証ページのアドレスが間違っていたりしませんか?

    2010年12月20日 8:04
  • > ログイン認証ページに飛ぼうとする、ということはありませんか?

    いいえ、認証画面を表示しているだけです。

    認証画面には「名前」と「パスワード」を入力するテキストボックスとボタンを配置しています。

    この画面で入力して[OK]ボタン押下後、認証OKの場合のみメニュー画面に遷移するようにしています。


    例えば、認証が必要なページに直にアクセスすると、ログイン認証ページにリダイレクトすることもあるかと思ったのですが、そのようなことはないと理解します。

    初歩的な事を聞いてすみませんが下記の方法を教えて下さい。

    > HTTP パケットを見ると、どこからどこに飛ぼうとしているかが分かると思うのですが。


    Fiddler なんかはどうでしょうか。

     Fiddler Web Debugger - A free web debugging tool
     http://www.fiddler2.com/fiddler2/
    2010年12月20日 8:05
  • 回答ありがとうございます。

    > ASP.NETは認証画面を表示する手段として、ログイン認証ページへリダイレクトを使用します。

    > web.configに記載したログイン認証ページのアドレスが間違っていたりしませんか?

    認証画面を表示しているだけです。

    web.configで認証画面のアドレスを記述もしていません。

    本当に単純な認証画面を表示するだけです。

    2010年12月20日 8:28
  • 回答ありがとうございます。

    > Fiddler なんかはどうでしょうか。
    アプリケーションをインストールするんですね。ホスティングしているサーバーなので...

    開発PCではIISで仮想ディレクトリを作成して問題なくブラウザで表示できていたのでプログラムには問題ないような気がしています。

    アプリとDBは別サーバーなので、DBのサーバーにIISをインストールしてブラウザで表示できるかを試してみます。

    IISのインストールがうまくいってないのかな。

    結果を報告しますので皆さん、もう少し渡しにご協力お願いします。

     

     

    2010年12月20日 9:13
  • > Fiddler なんかはどうでしょうか。
    アプリケーションをインストールするんですね。ホスティングしているサーバーなので...


    サーバーではなく、クライアント PC にインストールします。ローカル プロキシのように動作します。

    何らかのリダイレクトが発生しているけれども、リダイレクト先が見つからないように思います。
    DB が原因だと 301 でないエラーが出るはずですが...。
    2010年12月20日 9:20
  • > web.configで認証画面のアドレスを記述もしていません。

    指定しない場合、既定値として login.aspx が認証画面になりますので、そのページがないとかでしょうか。(でもそうだと開発サーバー上でも動作しないですね。)

    あと、ログ上のエラー番号が 301 とのことなので関係ないと思いますが、念のため、ブラウザで指定する URL を以下のようにファイル名を明示して入力しても変わらないでしょうか?
    (Default.aspx がプロジェクトに含まれる場合)

    http://localhost/仮想ディレクトリ名/Default.aspx

    2010年12月20日 9:32
  • 回答ありがとうございます。

    > http://localhost/仮想ディレクトリ名/Default.aspx

    説明不足ですみません。

    上記のURLの打ち方をしています。

    2010年12月20日 10:50
  • くどいようで申し訳ございませんが、web.config内で下記のような記述はありませんか?

    <system.web>
     <authentication mode="Forms">
    
    

    【ご参考】
    「方法 : 簡単なフォーム認証を実装する」
    http://msdn.microsoft.com/ja-jp/library/xdt4thhy(v=vs.80).aspx

    2010年12月20日 10:55
  • 皆さん、ありがとうございます。

    原因がわかりました。

    Windows2003ServerのSP2をインストールしてなかったのが原因でした。

    インストールして再起動後、下記のURLをブラウザで表示したところ認証画面を表示する事ができました。

    http://localhost/仮想ディレクトリ名/Default.aspx

    新たな問題が見つかったので別スレッドで質問させて下さい。

    本当にありがとうございました。

    • 回答としてマーク TOKYO_03 2010年12月20日 10:57
    2010年12月20日 10:57