Пользовательская CMS, добавление новых документов не появляется, пока IIS не будет сброшен - PullRequest
0 голосов
/ 02 января 2019

Мы создали 2 приложения с использованием MVC, а также административного и клиентского приложения. Администраторская сторона используется для создания и обновления XML-файлов с содержимым страницы. Клиентское приложение просто читает XML и отображает его в виде HTML.

Файлы XML размещаются на общем диске, и оба приложения считывают файлы из одного места, чтобы данные были отделены от приложений.

Обновления содержимого, сделанные для любых файлов, немедленно появляются в клиентском приложении, но любые НОВЫЕ файлы, созданные с помощью приложения Admin, не отображаются, пока IIS не будет повторно использован в клиентском приложении.

    string p = string.Format("{0}{1}", SiteInfo.Instance.SitePath, @"\sitemap.xml");
    var model = new Models.Pages.PagesPageModel
    {
        CMSPage = Models.Entities.CMSPage.EntireList(p)
    };

   private static List<CMSPage> EntireList(string path)
    {
        var doc = XDocument.Load(path);

        var list = new List<CMSPage>();
        var all = doc.Descendants().Where(d => d.Name == "page").ToList();
        //var all = doc.Element("webpages").Elements().Where(d => d.Name == "page").ToList();
        foreach (var p in all)
        {
            var page = GetPage(p);

            //recursion for children
            page.Children = GetChildrenPages(page, p);

            list.Add(page);
        }

        return list;
    }

Должен ли быть способ заставить приложения обновляться в списке файлов без перезагрузки IIS каждый раз?

1 Ответ

0 голосов
/ 04 января 2019

Проблема заключалась в том, что список хранился в статической переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...