得ASP.MVC2/VS2010への応用作品でIIS7.5
-
13-09-2019 - |
質問
私は最近ダウンロードベータ2VS2010とを始めとASP.NET MVC2.初期開発を行っていCasiniがたかった実際にアプリを立ち上げからIIS7.5んWindows7).を設置しましたのIIS6metabase compatiblity、実行しVS2010管理者権限で使用できまを作成"仮想ディレクトリ"ボタンから"ウェブ"タブのプロジェクトを設定します。この作成したウェブアプリケーションエントリIISがうまくいきませんでした。
私はページ内移動用のメニューでページhttp://localhost/MyMvcApp/)を取得しますHTTP403エラーになります。戻った時に、直接のサブ-ページhttp://localhost/MyMvcApp/Home/)または、HTTP404.
なんらかの理由で、URLの経路ていない。しかし、私は追加UrlRoutingモジュールとして、ハンドラ。config.私の検索はこの提供ソリューションとしてもsimilairます。私は今なおこの方法でやらねばならない。
面白いっす。config lookeようになります:
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
<membership>
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
</providers>
</membership>
<profile>
<providers>
<clear />
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
<roleManager enabled="false">
<providers>
<clear />
<add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
<add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
</providers>
</roleManager>
<pages>
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
<httpHandlers>
<add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler" />
</httpHandlers>
<customErrors mode="Off" />
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" >
<remove name="UrlRoutingModule"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</modules>
<handlers>
<remove name="MvcHttpHandler" />
<add name="MvcHttpHandler" preCondition="integratedMode" verb="*" path="*.mvc" type="System.Web.Mvc.MvcHttpHandler" />
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
<httpErrors errorMode="Detailed" />
</system.webServer>
解決 2
より多くのチェックと試みた後、私は、「HTTPエラー」と「HTTPリダイレクトは」失われたことをダイアログの「Windowsの機能の有効化または無効化」に気づきました。 私の知る限り、これを覚えることができるよう、マイクロソフトのWebプラットフォームインストーラーによって自動的にインストールされたので、これは奇妙です。 MVCでの作業時にどのような場合には、「HTTPリダイレクトは、」必要ツー持っている機能のように思えました。私はそれをインストールした後、それですべてが完璧に動作するように見えます。
他のヒント
私はこの問題を持っていたし、残念ながらここでの修正は私のために動作しませんでした。
どのような仕事をしたことは、これを実行していた。
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
コマンドウィンドウに...今、夢のように動作します!
(ASP.NetあなたはVS2010をインストールし、デフォルトではIISにインストールされていないので、か?)
あなたのweb.config
ファイルにこれを追加します。
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<!-- rest of config -->
</system.webServer>
そんな痛みを行うことです。が 絶対可!ましたので、できるぞこのステップによるステップガイド 追加mvc2プロジェクトへのexisitng webフォーム溶液 こちらです。武器agiは、dexで下がらないboxerぐ...かかったとのことで幅広い年代の作業がすべてのコンフィグを設定できない部分があると思うので、少ない資源になれます。
あなたはAspnet_regiis.exeに-ir管理者として実行する必要があることに注意してください、それは明白なようだが、あなたはそれを解決するためになし成功で物事をしようとするの疲れているとき、あなたはそれを渡すことができます。
ただ、すべての応答に大感謝にあなたを言うために、多くの時間が異なるものを試した後、最終的に私は、IISの私のMVC 2アプリケーションを動作し得ることができます。
私は、.NETベータ2を使用して、私のラップトップのWindows 7上でMVC2アプリケーションを構築したと 私はVSを含むWindows Server 2008で全体の開発環境をインストールすると2010 VSベータ2は、ルーティングがうまく働いた、ソリューションを構築し、それを実行しました。
次のステップでは、私は.NET 4.0ベータ版が、VS 2010ベータ版のダウンロードに付属している他のもののどれをデプロイした、Windows Server 2008で運用サーバーを作成することでした。 イェルーンによって示されるように、私はHTTPリダイレクトを有効にするまで、この設定の下でルーティングが働いたことはない。
これは同じ船にあるかもしれない誰かがお役に立てば幸いです。
ただ、私は403と404エラーと同じ問題を有するがsystem.webServer
を追加し、system.web/pages/namespaces
ノードからすべての要素が私のためにそれを解決したことに注意したい。