IIS7 - как поместить приложение в папку в веб-сайте приложения

Год спустя, но вот решение для OpenBSD под названием Воплощение: http://www.peereboom.us/epitome/. Если это - лицензирование на льготных условиях, это могло очень хорошо превратить его в ядро Linux.

2
задан 15 November 2011 в 13:27
3 ответа

Укажите более конкретное правило, 2-й, перед общим правилом, и он должен работать.

вручную или с помощью инструмента «Диспетчер информационных служб Интернета (IIS)» для отключения различных модулей и обработчиков по мере необходимости. Например, чтобы удалить один обработчик и один модуль, которые установлены и доступны по умолчанию в IIS 7.5:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <modules>
            <remove name="Session" />
        </modules>
        <handlers>
            <remove name="StaticFile" />
        </handlers>
    </system.webServer>
</configuration>

Вы должны иметь возможность просто «вставить» имена проблемных модулей и обработчиков, и программное обеспечение блога начнет работать

Чтобы сделать это через диспетчер IIS, выполните следующие действия:

  1. Откройте диспетчер IIS и подключитесь к машине, которую вы хотите настроить.
  2. В древовидной структуре слева перейдите к приложению, которое вы хотите configure
  3. Выберите «Сопоставления обработчиков» или «Модули» на главной панели.
  4. Щелкните каждый обработчик или модуль, который вы хотите удалить, и либо нажмите [DEL], либо используйте ссылку «Удалить» под действиями, либо щелкните правой кнопкой мыши и выберите "Удалить" из контекстного меню.
2
ответ дан 3 December 2019 в 12:04

Я не думаю, что это возможно, пока каталоги физически вложены. Вероятно, самый простой способ - использовать инструменты IIS URL rewrite или Application Request Routing .

Использование ASP routing , вероятно, не будет работать, поскольку приложение должен находиться в собственном домене.

Если вы действительно хотите избежать использования IIS, вы можете позволить вашему новому приложению MVC работать как прокси и вызывать другое приложение из элемента управления Blog и возвращать результат. Затем вам также нужно будет принять во внимание, когда ваше приложение блога генерирует ссылки с URL-адресами, используя следующий код:

ResolveUrl("~/...")

Вам нужно будет выполнить поиск и заменить эти URL-адреса (непроверено, вам нужно настроить некоторые вещи здесь, чтобы получить он работает, но основная идея может быть извлечена):

public class BlogController : Controller {
  protected override void HandleUnknownAction(string actionName) {
    string newUrl = ConvertToNewUrl(Request.Url);
    System.Net.HttpWebRequest newRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(newUrl);
    System.Net.HttpWebResponse newResponse = (System.Net.HttpWebResponse)newRequest.GetResponse();

    System.IO.Stream resStream = newResponse.GetResponseStream();
    byte[] content = new byte[resStream.Length];
    resStream.Read(content, 0, (int)resStream.Length);

    if (newResponse.ContentType == "text/html") {
      System.IO.MemoryStream ms = new System.IO.MemoryStream(content);
      using (System.IO.StreamReader sr = new System.IO.StreamReader(ms)) {
        string strContent = sr.ReadToEnd();

        strContent = strContent.Replace("example.com/something", "example.com/blog");
        using (ms = new System.IO.MemoryStream()) {
          using (System.IO.StreamWriter sw = new System.IO.StreamWriter(ms)) {
            sw.Write(strContent);
            content = ms.ToArray();
          }
        }
      }
    }

    Response.Write(content);
  }
}

но я должен признать, что это самое подозрительное решение, которое я могу придумать :-) Я рекомендую вам сначала дать URL rewrite или Маршрутизация запросов приложений - выстрел.

0
ответ дан 3 December 2019 в 12:04

Вы можете создать новое приложение для этой конкретной папки в ее окне «Свойства», на вкладке «Домашний каталог» (или виртуальный каталог для виртуально созданных каталогов). Я думаю, вам нужен домашний каталог для обновленного нового содержимого .net. После того, как вы настроите для него веб-сайт, перейдите в папку блога и создайте для него приложение. Затем перейдите на вкладку ASP.NET и исправьте версию приложения, потому что при настройке родительского веб-сайта для версии 4.0 версия блога также изменится на эту. Вы должны изменить его обратно на v3.5

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

0
ответ дан 3 December 2019 в 12:04

Теги

Похожие вопросы