0

Windows XP SP3、Visual Studio 2010 SP1、IIS Express 7.5、IE8を使用しています。VS 2010では、新しいファイルベースのWebサイトとプロジェクトにIISExpressを使用しています。

VSからデバッグを開始すると、IEの空のウィンドウが開き、すべてがフリーズします。唯一の選択肢は、コンピューターの電源を切ることです。

IISデフォルトサイトのバインド–applicationhost.configファイルのWebSite1はに設定されています

//バインディングprotocol="http" bindingInformation = ":8080:localhost" //

コマンドプロンプトからIISExpressを起動すると、一般的な結果は次のようになります。

1)タスクバーのIIS Expressアイコン– iisexpresstrayからWebsite1を起動すると、ほとんどの場合、「InternetExplorerはWebページを表示できません」というメッセージが表示されたIEウィンドウが表示されます。ウェブログファイルから私が見ることができる唯一の珍しいことは、Client-IPとServer-IPがIPv6形式「::1」で与えられているということです</ p>

それ以外の場合はすべてがフリーズし、ウェブログファイルにもウェブトレースファイルにも何も記録されません。また、Windowsイベントビューアには、このイベントにリンクされた記録されたイベントはありません。

2)IE http:// localhost:8080 /から直接Website1を開こうとすると、ほとんどの場合、サイトは正しく開きます。ウェブログファイルから、Client-IPとServer-IPが127.0.0.1として指定されていることがわかります。

上記のように「InternetExplorerはWebページを表示できません」というメッセージが表示され、ウェブログファイルにIPv6形式のClient-IPとServer-IPが「::1」と表示されることがあります。

時々それはウェブログファイルにもウェブトレースファイルにもウィンドウズイベントビューアにもトレースなしで上記のようにウィンドウをフリーズします。

何かご意見は?私はこれらのことについての知識が限られていることを覚えておいてください。

4

2 に答える 2

0

問題はルーティングチェーンのどこかにあるようです。チェーン内の一部のリンク (Windows をクラッシュさせる可能性がある場合は明らかに重要なリンクです!) が IPv6 構文を理解していません。これをさらに調査するスキルも時間もありませんが、少なくとも回避策は思いつきました。

これは、IPv6 表記ではなく IPv4 表記を使用することを全員に強制するという考え方です。

    1) In Visual Studio 2010 SP1 open project’s properties page
    2) Select “Web” tab. 
    3) In the “Servers” area select “Apply server settings to all 
    users (store in project file)”, 
    4) Select “Use Local IIS Web server”, 
    5) Select “Use IIS Express” 
    6) In the Project Url text box enter 
    http://127.0.0.1:8081 
    instead of 
    http://localhost:8081 .

または、確認して最終的に手動で変更します。

    1) In C:\...\My Documents\IISExpress\config\ applicationhost.config replace
    <binding protocol="http" bindingInformation="*:8081:localhost" /> 
    with
    <binding protocol="http" bindingInformation="*:8081:127.0.0.1" />

    2) Also in Visual studio project file *.csproj replace
    <IISUrl>http://localhost:8081/</IISUrl> 
    with
    <IISUrl>http://127.0.0.1:8081/</IISUrl>.
于 2012-08-11T01:31:09.587 に答える
0

あなたが試すことができる2つのこと:

1) ネットワーク カードの IPv6 機能を無効にします (実際には IPv6 を使用していないと仮定します)。これは、Network Neighborhood を介してカードの設定にアクセスすることで実行できます。

2) IIS を別のポートで実行してみて、動作が持続するかどうかを確認します。マシンの構成によっては、ポート 8080 でリッスンしている何かが既に存在し、それが適切に処理されていない可能性があります。

IIS Express を初めて使用したときに同様の問題に遭遇し、テスト用に非標準ポートで実行することで解決しました。

于 2012-08-09T15:41:56.643 に答える