Вы говорите, что сам метод действия вызывает XCopy? интересная идея (пока она включена только на этапе разработки). хорошее решение проблемы. я избежал отдельных областей проектов из-за этого ограничения

ы действия контроллера ASP.NET MVC в основном используются для обработки «бизнес-операций», но могут использоваться и для многих других.

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

Вот мой вклад:

Конкатенация файлов Javascript - дляуменьшить количество http запросов:

    [OutputCache(Duration = 5 * 60, VaryByParam="")]  // DONT USE "None" here *
    public ContentResult RenderJavascript(){

        StringBuilder js = new StringBuilder();
        StringWriter sw = new StringWriter(js);

        // load all my javascript files
        js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/jquery.hoverIntent.minified.js")));
        js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/jquery.corner.js")));
        js.AppendLine(File.ReadAllText(Request.MapPath("~/Scripts/rollingrazor.js")));

        return new ContentResult()
        {
            Content = js.ToString(),
            ContentType = "application/x-javascript"
        };
    }

Карта маршрута к нему:

  // javascript
  routes.MapRoute(
     "js-route",
     "dynamic/js",
     new { controller = "Application", action = "RenderJavascript" }
  );

Обратитесь к нему с вашей главной страницы:

    <script type="text/javascript" src="/dynamic/js"></script>

Имейте в виду, что я установил кеш для вывода, поэтому, если вы меняете JS и обновляете страницу, вы можете отключить кеш!

Мне нужно вернуться и выяснить, как это сделать.

* Вы не должны использовать VaryByParam = "None", потому что это вызывает отправку заголовка Vary, чтозаставляет браузер вернуться и проверить наличие новой версии, Если вам действительно нужно изменить свой js-контент, то ваши пользователи просто должны ждать 5 минут!

Ответы на вопрос(5)

Ваш ответ на вопрос