0

ASP.NETMVC4ページを生産的なシステムで動作させようとしています。IIS7とWindows7Professionalを使用するローカルシステムでは、すべてが正常に機能します。

生産的なシステム:

  • Windows Web Server 2008R264ビット
  • .NET4を使用するIIS7

このページでは、新しいIISサイトを作成しました。このサイトでは、.NETFrameworkv4.0.30319と統合モードを使用する新しいアプリケーションプールを作成しました。アプリケーションプールの場合、アプリケーションを32ビットアプリとして実行する必要があるため、32ビットアプリケーションのフラグがアクティブになります。

経由でページにアクセスすると

https://localhost:12345/PageName

エラーメッセージが表示されます:

(ドイツ語から翻訳します:)アプリケーション/PageNameのサーバーエラーリソースが見つかりませんでした

Description: HTTP 404. The resource or a dependency could not be found...
Requested URL: /PageName

Version: .NET 4.0.30319; ASP.NET 4.0.30319.1

ルーティングテーブル:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "MyController", action = "Index", id = "" });

コントローラのIndexメソッドは次のようになります

[ValidateInput(false)]
[RequireHttps(Order = 1)]
public ActionResult Index(string method, string chapterId, string sessionKey, string cn, string ui, string pw, string ProductNumber, string DocumentData)
{
    // something...
}

web.config

...
<system.web>
     <compilation debug="true" defaultLanguage="c#" targetFramework="4.0" />

     <authentication mode="Forms">
       <forms protection="All" loginUrl="~/Account/Login" timeout="1" />
     </authentication>

     <httpRuntime requestValidationMode="2.0" />

     <sessionState mode="Off" />
</system.web>
...
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

  <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>

デバッグの目的で、http://haacked.com/archive/2008/03/13/url-routing-debugger.aspxをglobal.asaxファイルのApplication_Start関数に追加しまし

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    WebApiConfig.Register(GlobalConfiguration.Configuration);
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);

    // added call here
}

ルートは正しく解決されます。-> Controller = "MyController"、Action = "Index"、Id = ""

IISログ

2012-12-12 15:21:04 ::1 GET /PageName - 49266 - ::1 Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+WOW64;+Trident/5.0) 404 0 0 656
2012-12-12 15:32:18 ::1 GET /PageName - 49266 - ::1 Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+WOW64;+Trident/5.0) 404 0 0 0
2012-12-12 15:37:48 ::1 GET /PageName - 49266 - ::1 Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+WOW64;+Trident/5.0) 404 0 0 5687

WindowsEventLogにはこれ以上何も表示されません。

4

0 に答える 0