0

私はiis7で自分のウェブサイトをセットアップしようとしていますが、これまでに次のことを行いました。

  • iis7とすべての主要コンポーネントをインストールしました。
  • iisで、新しいWebサイトを作成しました。
  • Visual Studioを通じて、新しい仮想ディレクトリを作成しました。

ファイルのある仮想ディレクトリ

VisualStudioの仮想ディレクトリ

ルーティングがiisでどのように機能するかわからないという問題があるため、ディレクトリブラウジングを有効にしました。Visual Studio開発サーバーでは、特定のパスを指定しなくてもデフォルトのページに移動します。

私の唯一の理論は、global.asaxファイルを変更することですが、それでも何をすべきかわかりません。

ディレクトリ

404

Visual Studio開発サーバーが機能します!

グローバルasax

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace UserManager
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            //routes.IgnoreRoute("/}");

            //routes.MapRoute(
            //    "Default", // Route name
            //    "{controller}/{action}/{id}", // URL with parameters
            //    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            //);

            routes.MapRoute(
              "Default", // Route name
              "{controller}/{action}/{id}", // URL with parameters
              new { controller = "UserManager", action = "Index", id = UrlParameter.Optional } // Parameter defaults
          );

            ///* User Manager routing */
            //routes.MapRoute(
            //    "UserManager", // Route name
            //    "{controller}/{action}/{id}", // URL with parameters
            //    new { Controller = "UserManager", action = "Index", id = UrlParameter.Optional }
            //    );

            routes.MapRoute(
                "UserManagerCreateUser", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { Controller = "UserManager", action = "CreateUser", id = UrlParameter.Optional }
                );

            routes.MapRoute(
               "UserManagerLookUpGroupName", // Route name
               "{controller}/{action}/{id}", // URL with parameters
               new { Controller = "UserManager", action = "LookUpGroupName", id = UrlParameter.Optional }
               );

            routes.MapRoute(
               "UserManagershowError", // Route name
               "UserManager/showError/sErrorMessage", // URL with parameters
               new { Controller = "UserManager", action = "showError", UrlParameter.Optional}
               );

            /* User Status routing */
            routes.MapRoute(
                "UserStatus", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { Controller = "UserStatus", action = "Index", id = UrlParameter.Optional }
                );

            /* Email Distribution list routing */
            routes.MapRoute(
                "EmailDistributionList", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { Controller = "EmailDistributionList", action = "Index", id = UrlParameter.Optional }
                );

            /* Email User Details routing */
            routes.MapRoute(
                "EmailUserDetails", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { Controller = "EmailUserDetails", action = "Index", id = UrlParameter.Optional }
                );
        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);
        }
    }
}

概要

IIS7でMVC3イントラネットサイトをセットアップしようとしています。ページが見つからないため、ルーティング要求が間違っているかどうかはわかりません。スクリーンショットは、VisualStudio開発サーバーでどのように機能するかを示しています。

4

2 に答える 2

1

ディレクトリブラウジングを有効にしたくない。

仮想ディレクトリではなく、IISに新しいサイトを追加してみてください。あなたがそれを作成するとき、あなたは9000のようにポートを割り当てます、そしてあなたはあなたのサイトにアクセスすることができますhttp://localhost:9000/

次に、[アプリケーションプール]をクリックします。新しいサイトを右クリックして、基本設定に移動します。.NET Frameworkのバージョンがv2ではなくV4であり、マネージドパイプラインモードがClassicではなくIntegratedであることを確認してください。

また、IISに移行する前に、サイトがVisualStudioDevelopmentサーバーで正しく実行されていることを確認してください。

于 2013-01-03T14:56:31.083 に答える
0

ルーティングに問題はないはずです。サイトが実際にフレームワーク4.0を使用していることを確認してください。管理パイプラインが統合に設定されていることを確認してください。展開サーバーが開発サーバーと異なる場合は、mvc3.0が展開にインストールされていることを確認してください。サーバ

于 2013-01-03T14:48:59.293 に答える