1

Windows 2003 サーバーに、いくつかのバージョンの Visual Studio と Visual Studio 2003 をインストールしました。サーバー上で、2 つの異なる Web アプリケーションを開発したいと考えています。1 つの Web アプリケーションは動作していますが、もう 1 つの Web アプリケーションで問題が発生しています。

(再構築後に) アプリケーションを開こうとすると、次のエラーが表示されます。 。 '操作がタイムアウトしました'。" ビルドによって生成された dll ファイルを削除すると、問題がなくなることは既に確認しました。環境は複数のユーザーに配布されるため、Visual Studio を起動するたびに dll を削除することはできません。

aspnet_regiis -u、aspnet_regiis -i、およびaspnet_regiis -rを使用して、asp.netを再登録するためにすでに複数回試みました。

aspnet_regiis -lv を実行すると、次のようになります。 \v2.0.50727\aspnet_isapi.dll

誰もこの問題の解決策を知っていますか?

4

3 に答える 3

1

上記で提案された手順に従った後でも、これは私にとってまだ問題でした。これが最終的に私たちのために働いた解決策です。

  1. ローカル マシンで IIS のログを有効にします。クエリ文字列と HTTP 応答コードを必ずログに記録してください。
  2. ソリューションを開いてタイムアウトさせてみてください。
  3. iisreset を実行して IIS ログをフラッシュします。
  4. IIS ログを開きます。ソリューションを開いたときに、かなりのアクティビティが生成されたことに気付くでしょう。
  5. 何らかの理由で、VS2003 はいくつかのページに移動しようとします...特に、フォーム認証がオンになっている場合、ログイン ページに移動することがあります。
  6. ログイン ページのログ エントリで、処理時間と HTTP 応答コードを確認します。私たちの場合、302 HTTP リダイレクトを返していました。

このコードでは、Cookie をチェックし、見つからない場合は外部ページにリダイレクトすることで、ログイン ページを起動します。このリダイレクトは、開発環境でアクセスできない場所へのリダイレクトです。したがって、VS はページを開き、リダイレクトに従い、ページを取得しようとしてタイムアウトします。

ログインページを次のコードで修正して修正しました。

//If Request is coming from Visual Studio, just return an error         
if (Request.UserAgent.StartsWith("Microsoft-Visual-Studio.NET"))
{
    Response.StatusCode = 500;
    Response.End();
}

Visual Studio は 500 を処理できます。不明なホストへの 302 は処理できません。

お役に立てれば。

于 2010-09-15T15:03:34.083 に答える
0

これは私のために働いた...

http://forums.asp.net/p/1192304/2066860.aspx

XP 開発マシンで、「C:\Documents and Settings\USERNAME\VSWebCache\USERNAME\」に移動し、VS2003 ソリューション名と一致するフォルダーを削除しました。(実際には、念のためフォルダを C:\Temp に移動しました)。これはうまくいきましたが、1 つのデザイナー ファイルは再構築しないと読み込まれず、起動ページを再マークする必要がありました。ソリューションがこの VSWebCache に依存している理由がわかりません (ソリューションを再構築したときに再表示されました)。この依存関係を説明できる人はいますか? 不安です。

于 2010-07-06T13:10:56.750 に答える
0

Visual Studio 2003 に Service Pack 1 を適用しましたか?

http://www.microsoft.com/downloads/details.aspx?familyid=69d2219f-ce82-46a5-8aec-072bd4bb955e&displaylang=en

于 2010-02-01T10:57:36.737 に答える