更新 : 2007 年 11 月
Visual Studio でファイル システム Web サイトをテストすると、ASP.NET 開発サーバーが自動的に実行されます。詳細については、「Visual Web Developer における Web サーバー」を参照してください。
ASP.NET 開発サーバーを使用することによってエラーの原因になる場合があります。このトピックでは、Web サーバーにエラーが発生する状況とその対処法について説明します。
"… の変更の監視を開始できませんでした" エラー
このエラーは、アプリケーション レベルの偽装によって ASP.NET 開発サーバーを使用し、Windows Vista でユーザー アカウント制御を有効にして実行している場合に、発生することがあります。
Windows の既定の設定では、ユーザーが管理者としてコンピュータにログオンしている場合でも、権限が制限されたユーザーのアカウントでアプリケーションが実行されます。Windows Vista でアプリケーション レベルの偽装を使用して Web アプリケーションを実行するときは、管理者アカウントで Visual Studio を実行する必要があります。
"Windows ユーザー トークンを作成できません。" エラー
このエラーは、Web サイトが Web.config ファイルでアプリケーション レベルの偽装 (固定アカウントでの偽装) を使用するように構成されていて、Web サーバーを実行するアカウントが "オペレーティング システムの一部として機能" 特権 (TCB (Trusted Computing Base) 特権とも呼ばれます) を持っていない場合に発生します。Web.config ファイルで、次のような構文を使用して特定のアカウントを偽装するように Web サイトを構成できます。
<identity impersonate="true" userName="<UserName>" password="<securepassword>" />
![]() |
---|
構成ファイルのユーザー名とパスワードなど、機密情報を格納するときは、保護された構成を使用して機密の値を暗号化する必要があります。詳細については、「方法 : データ ソース コントロールを使用するときに接続文字列をセキュリティ保護する」を参照してください。 |
ASP.NET 開発サーバーを起動するプロセスは TCB 特権を持っている必要があります。したがって、Web サイトが偽装を実装するように構成されている場合、Web サーバーを実行するアカウントに TCB 特権を与える必要があります。
![]() |
---|
TCB 特権は非常に強力な特権のため、通常、TCB 特権はできるだけ少数のアカウントに与えるようにしてください。Web サイトが偽装を使用していて、Web サーバーを実行するアカウントに TCB 特権を与えないでは ASP.NET 開発サーバーを使用できない場合、アカウントに不必要に特権を与えないですむように、インターネット インフォメーション サービス (IIS: Internet Information Services) を使用して Web サイトをテストすることを検討してください。 |
"ページを表示できません。" エラー (502 エラー)
ページが表示できないという 502 エラーの原因の 1 つとしては、ブラウザが "localhost" とポート番号を含む URL (https://localhost:8080/ExampleWebSite/Default.aspx) を解決できないことがあります。ASP.NET 開発サーバーは、localhost で排他的に動作し、既定では、各要求に対してランダムに選択されたポート番号が使用されます。
ローカル要求に対してプロキシ サーバーをバイパスすることにより、このエラーを解決できる場合があります。詳細については、「方法 : ローカル Web 要求に対してプロキシ サーバーをバイパスする」を参照してください。
"Connection Refused" エラー
サーバーは次のエラーを報告します。
10061 - Connection Refused
Internet Security and Acceleration Server
Internet Security and Acceleration Server (ISA Server) で保護されているネットワーク上でコンピュータが実行しており、かつ、次のいずれかの条件が当てはまる場合、このエラーが発生します。
ファイアウォール クライアントがインストールされていない。
Internet Explorer の Web プロキシ設定が正しくない。
このエラーは IIS を使用しているときには発生しません。IIS はポート 80 を使用し、ISA Server および他のファイアウォール製品はポート 80 へのアクセスを許可します。しかし、ASP.NET 開発サーバーの場合、ランダムにポートが選択されるため、ISA Server などのファイアウォール製品によってほとんどのポートへのアクセスがブロックされます。
この問題は、次の方法で回避できます。
ISA クライアントなどのファイアウォール クライアント ソフトウェアをインストールします。
Internet Explorer で Web プロキシ接続設定を変更し、ローカル アドレスに対してプロキシ サーバーをバイパスするようにします。
"BIOS による制限を超えました" エラー
このエラーは、ファイルがリモート コンピュータ上にあるファイル システム Web アプリケーションを使用しているときに発生する可能性があります。ASP.NET 開発サーバーを使用してページを実行しようとすると、実行時エラーとしてこのエラーが発生します。
リモート コンピュータが Windows 2000 または Windows XP を実行している場合、このエラーが発生する確立が高くなります。リモート コンピュータが Windows 2000 を実行している場合、サポート技術情報の「"The network BIOS command limit has been reached" error message in Windows Server 2003, in Windows XP, and in Windows 2000 Server (810886)」を参照して、同時接続の最大数を増やしてください。Windows XP を実行している場合には、リモート コンピュータ上で、ターミナル サーバー セッションを含む既存の共有リソースを閉じることにより、このエラーを回避できる可能性があります (Windows XP では、同時ネットワーク要求の最大数が固定されています)。可能であれば、Web アプリケーション ファイルをローカル コンピュータにコピーして、そこでアプリケーションをテストすることもできます。
静的ファイルが提供されない
ファイル システム Web サイトでは、イメージやスタイル シートなどの静的ファイルは ASP.NET 承認を受けます。たとえば、ファイル システム Web サイト内の静的ファイルは、これらのファイルに対する匿名アクセスが無効になっている場合、匿名ユーザーからのアクセスを受け付けません。ただし、IIS を実行するサーバーに Web サイトを配置した場合は、IIS が承認規則を使用せずに静的ファイルを提供します。