1

UPDATED-最初は間違ったディレクトリを指しています。先端Wiktorをありがとう。経由でMVC4アプリケーションを実行することにまだ成功していません

私は(しばらくの間.. :))開発用PCにシミュレートされたマルチテナントWebアプリをセットアップしようとしています。Visual Studioの内部Webサーバーではこれが不可能であることを知り、IISをセットアップしようとしています。

fakeホストにテナントを追加しました。

127.0.0.1 localhost
127.0.0.1 tenant1.mydomain.com
127.0.0.1 tenant2.mydomain.com

IISで、新しいWebサイトtest(ポート8081)を作成し、それをポイントしましたC:\Azure\Websites\。そのディレクトリにHello World、このビットが機能するかどうかを確認するためにhtmlファイルを追加しました。

  • localhost:8081に移動しました=> Hello world
  • Tenant1.mydomain.com:8081 =>Helloworldに移動しました。

クールで最初の人生の証拠。


次のステップ:VS2012で作成されたMVC4Webアプリでこれを機能させる。

新しいMVC4Webアプリを起動し、次の場所に保存しました。 C:\Azure\Websites\MvcApplication1

テストにはデフォルトで生成されたWebサイトを使用するだけなのでF5、Firefoxでサイトが開かれていることを確認しました。したがって、目標はこれをIISから機能させることです。

  • 新しいWebサイトを作成しましたtest2(ポート8082)
  • test2アプリプールを.net4.0に設定します
  • 物理ディレクトリをポイントしますC:\Azure\Websites\MvcApplication1\MvcApplication1\
  • localhost:8082に移動します

HTTPエラー500.21-内部サーバーエラーハンドラー「ExtensionlessUrlHandler-Integrated-4.0」のモジュールリストに不正なモジュール「ManagedPipelineHandler」があります

ASP.NETをアンインストールし、再インストールしました。同じ結果。

web.configをから変更したとき

preCondition="classicMode,runtimeVersionv4.0,bitness32"

preCondition="integratedMode,runtimeVersionv4.0,bitness32"

次に、このエラーが発生します。

HTTPエラー404.2-見つかりませんWebサーバーのISAPIおよびCGI制限リストの設定が原因で、要求しているページを提供できません。

私はIIS構成に関してn00bであるという事実を強調できますか...:)

何か案は?

4

3 に答える 3

1

IISでのISAPIおよびCGIの制限:

  • .net432ビット用のisapidllを追加します
  • .net464ビット用のisapidllを追加します

C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll

C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_isapi.dll

そしてそれは動作します。ついに!

Wiktorに感謝します

于 2013-02-02T12:42:56.583 に答える
0

まず、このサイトに従ってIISを構成します。

IIS7.5ハンドラー" "のモジュールリストにextensionlessurlhandler-integrated-4.0不正なモジュール" "がありますmanagedpipelinehandler

上記の問題については、[コントロールパネル]>>[インストールされているプログラムと機能]>>[.NETFrameworkをダブルクリックして修復する]に移動する必要があります。

于 2014-12-06T17:30:05.250 に答える
0

まず、IISを手動構成として構成します。コントロールパネルを開き、[プログラムと機能]»[Windowsの機能をオンまたはオフにする]をクリックします。インターネットインフォメーションサービスをオンにします。

[インターネットインフォメーションサービス]で、次の機能をオンにします。Web管理ツール»IIS6管理の互換性»IISメタベースとIIS6構成の互換性。

Web管理ツール»IIS管理コンソール、IIS管理スクリプトとツール、および管理サービス。

World Wide Web Servicesで、以下をオンにします。サーバーサイドインクルードを除く、アプリケーション開発機能のすべての機能。一般的なHTTP機能»デフォルトのドキュメント、ディレクトリブラウジング、HTTPエラー、Httpリダイレクト、静的コンテンツ。セキュリティ»基本認証、要求フィルタリング、Windows認証。

Microsoft .NETFramework3.5.1の下で»WindowsCommunicationFoundationHTTPアクティベーション。

Webサイトを作成したら、インターネットインフォメーションサービス(IIS)マネージャーを開きます。サーバーノードを展開します。[サイト]ノードを展開し、Webサイトをクリックします。

右側のセクションIISで、[認証]をダブルクリックします。次のいずれかを実行します。

フォーム認証を使用している場合は、匿名認証とフォーム認証が有効になっていて、他のすべての認証が無効になっていることを確認してください。

クレームベースの認証を使用している場合は、匿名認証のみが有効になっていて、他のすべての認証が無効になっていることを確認してください。

Webサイトをもう一度クリックし、IISセクションで[ハンドラーマッピング]をダブルクリックします。*.svcおよび*.xamlxのハンドラーマッピングが有効になっていて、実行可能パスが次のいずれかに設定されていることを確認してください。

64ビットOSの場合:%windir%\ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll 32ビットOSの場合:%windir%\ Microsoft.NET \ Framework \ v4.0.30319\aspnet_isapi.dllインターネット情報を閉じるサービス(IIS)マネージャー。

于 2014-12-07T18:07:31.843 に答える