0

私の Asp.net アプリケーションは、Azure クラウド上でホストされています。

そのアプリケーションには、Linux 上にサーバーを持つ Java チャット コントロールがあります。

チャット要求を Linux サーバーにリダイレクトする HTTPHandler を作成しましたが、クラウド環境ではうまく動作しません (ただし、Web 環境ではうまく動作します)。

以下のエラーが表示されます


マイクロソフト ビジュアル スタジオ

Microsoft Visual Studio 用 Windows Azure ツール

ロール インスタンス 'deployment16(315).Cloud.AnotherHttpHandler_IN_0' の URL 'http://127.255.0.0:82/' の IIS ワーカー プロセスにデバッガーをアタッチするときにエラーが発生しました。Web サーバーでデバッグを開始できません。一般的な構成エラーについては、ヘルプを参照してください。デバッガーの外部で Web ページを実行すると、詳細な情報が得られる場合があります。

サーバーが正しく動作していることを確認してください。Debug.Start Without Debugging を実行して、web.config に構文エラーがないことを確認します。オンライン ドキュメントの ASP.NET と ATL サーバーのデバッグに関するトピックも参照してください。



Handler を System.webServer の下と web.config ファイルに配置しました。以下のコードを参照してください。

<system.web>
<httpHandlers>
  <add verb="*" path="http-bind/*"
    type="HelloWorldHandler"/>
</httpHandlers>
</system.web>

<system.webServer>
<handlers>
  <add verb="*" path="http-bind/*" name="HelloWorldHandler" type="HelloWorldHandler"/>
</handlers>
<modules runAllManagedModulesForAllRequests="true" />
</system.webServer>

クラウド環境で何が制限されているのかわかりません。

4

2 に答える 2

2

この質問を見て、Azure で実行するために httpHandlers を構成する方法を確認してください。

最も重要なのは、system.web の下の httpHandlers セクションを削除しsystem.webServerの下にハンドラーのみ残すことです。次に、 resourceType="Unspecified"属性もハンドラー宣言に追加します。これで問題が解決するはずです。

于 2011-12-22T12:35:21.617 に答える
1

私も同じ問題を抱えていました。次の方法で修正しました。

問題は、私のマシンが 32 ビットで、Azure サーバーが 64 ビットであることでした。この問題を解決するために、アプリケーション プールの事前設定で [32 ビットを有効にする] オプションのみを変更しました。そして元のコードはうまくいきました。

私はこのリンクからこの助けを得ました

于 2012-05-28T06:46:03.137 に答える