Nano Hash - криптовалюты, майнинг, программирование

Настройка страницы по умолчанию для конфигурации сервера ASP.NET (Visual Studio)

Когда я создаю и запускаю свое приложение, я получаю список каталогов в браузере (также происходит для подпапок), и мне нужно щелкнуть Index.aspx. Это сводит меня с ума.

Сервер разработки Visual Studio 2008 ASP.NET 9.0.0.0


  • Этот же вопрос (заданный после этого) также появляется с другим ответом, здесь 04.08.2011
  • Обратитесь к ответу @Philippe Leybaert, в котором говорится: «Перейдите на страницу свойств проекта, выберите вкладку «Интернет». 07.06.2013

Ответы:


1

Встроенный веб-сервер жестко настроен на использование Default.aspx в качестве страницы по умолчанию.

В проекте должен быть как минимум пустой файл Default.aspx, чтобы решить проблему со списком каталогов для Global.asax.

:)

Как только вы добавите этот пустой файл, все запросы будут обрабатываться в одном месте.

public class Global : System.Web.HttpApplication
{
    protected void Application_BeginRequest(object sender, EventArgs e)
    {
        this.Response.Write("hi@ " + this.Request.Path + "?" + this.Request.QueryString);
        this.Response.StatusCode = 200;
        this.Response.ContentType = "text/plain";

        this.Response.End();
    }
}
05.02.2010

2

Щелкните правой кнопкой мыши веб-страницу, которую вы хотите использовать в качестве страницы по умолчанию, и выберите «Установить как стартовую страницу», когда вы запускаете веб-приложение из Visual Studio, оно будет открывать выбранную страницу.

14.07.2009
  • Да, это работает для начальной страницы, но когда я просматриваю что-либо в подпапке, я снова получаю список папок. 14.07.2009

  • 3

    Перейдите на страницу свойств проекта, выберите вкладку «Интернет» и сверху (в разделе «Начать действие») введите имя страницы в поле «Конкретная страница». В вашем случае index.aspx

    14.07.2009
  • Да, это работает для начальной страницы, но когда я просматриваю что-либо в подпапке, я снова получаю список папок. 14.07.2009
  • Невозможно указать страницу по умолчанию на внутреннем веб-сервере Visual Studio (Cassini). 14.07.2009
  • Это работает, как и ожидалось, для нескольких других разработчиков в моей группе. 14.07.2009
  • Встроенный веб-сервер жестко настроен на использование Default.aspx в качестве страницы по умолчанию. Возможно, члены вашей команды используют Default.aspx вместо index.aspx? Или, может быть, они используют локальный IIS на своей машине для разработки. 14.07.2009
  • Спасибо, теперь, если я могу заставить его постоянно запускать веб-проект вместо дочерних проектов при запуске решения 06.06.2011

  • 4

    Подобно ответу zproxy выше, я использовал следующий код в Gloabal.asax.cs для достижения этой цели:

    public class Global : System.Web.HttpApplication
    {
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            if (Request.Url.AbsolutePath.EndsWith("/"))
            {
                Server.Transfer(Request.Url.AbsolutePath + "index.aspx");
            }
        }
    }
    
    04.08.2011

    5

    Один из способов добиться этого — добавить параметры DefaultDocument в файл Web.config.

      <system.webServer>
       <defaultDocument>
        <files>
          <clear />
          <add value="DefaultPage.aspx" />
        </files>
       </defaultDocument>
      </system.webServer>
    
    22.09.2020
  • Особенно полезно для нашего рабочего процесса CI. 02.07.2021

  • 6

    Если вы работаете с IIS, а не с сервером VS webdev, убедитесь, что Index.aspx является одним из ваших файлов по умолчанию, а просмотр каталогов отключен.

    14.07.2009
  • Нет, я запускаю сервер VS webdev. 14.07.2009

  • 7

    Этот один из методов опубликованного решения для отображения конкретной страницы при запуске.

    Вот пример маршрута для перенаправления на определенную страницу...

    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                namespaces: new[] { "YourSolutionName.Controllers" }
            );
        }
    }
    

    По умолчанию метод индекса домашних контроллеров выполняется при запуске приложения, здесь вы можете определить свой.

    Примечание. Я использую Visual Studio 2013, и «YourSolutionName» должно быть изменено на имя вашего проекта.

    14.01.2018

    8

    Я не уверен, какую структуру вы используете, но в ASP.NET MVC вы можете просто перейти в папку App_Start и открыть файл RouteConfig.cs. Код должен выглядеть примерно так:

        public class RouteConfig
        {
            public static void RegisterRoutes(RouteCollection routes)
            {
                routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    
                routes.MapRoute(
                    name: "Default",
                    url: "{controller}/{action}/{id}",
                    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
                );
            }
        }
    

    Вы можете изменить целевую страницу в последней строке кода после defaults.

    24.05.2021

    9
  • Этот ответ не совсем правильный. Если пользователь перейдет на site.com/account/, он будет перенаправлен на /index.aspx вместо /account/index.aspx. 02.09.2012
  • Подражание — самая искренняя форма лести. - Чарльз Калеб Колтон 03.10.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..