Безопасен ли этот вспомогательный поток в формате html? - PullRequest
8 голосов
/ 07 июля 2011

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

Была бы ситуация, когда многие запросы к странице моглиПересекли стили и сценарии.

Может быть полезно, если вы знакомы с MVC, так как методы add вызываются при визуализации представлений, а результат отображается в макете (главной странице).

Текущее решение (Пожалуйста, дайте мне знать, если оно должно быть улучшено)

public static MyCompanyHtmlHelpers GetInstance(HtmlHelper htmlHelper)
{
    MyCompanyHtmlHelpers _instance;
    if (htmlHelper.ViewData["SectionHelper"] == null)
    {
        _instance = new MyCompanyHtmlHelpers();
        htmlHelper.ViewData["SectionHelper"] = _instance;
    }
    else
        _instance = htmlHelper.ViewData["SectionHelper"] as MyCompanyHtmlHelpers;

    _instance.SetHtmlHelper(htmlHelper);

    return _instance;
}

спасибо

1 Ответ

5 голосов
/ 07 июля 2011

Хмм .... мне не похоже; p

HtmlHelper имеет некоторые свойства экземпляра, в частности ViewContext и ViewData (через ViewDataContainer) и т. Д.что где-нибудь static - это ужасная ужасная идея.

С базовым кодом, который продолжается, вы , вероятно, покончите с этим, но: IMO, это все еще очень плохая идея,Хорошо заметили.

...