Есть простой метод (экшен) в контроллере:
public IActionResult Test() => View();
Также простая View, которая отображает только тег-хелпер:
@{
Layout = null;
}
<stars-block title-id="56" score="6" default="true"></stars-block>
А вот сам класс тег-хелпера:
public class StarsBlockTagHelper : TagHelper
{
public int TitleId { get; set; }
public int Score { get; set; }
public bool Default { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "div";
output.Attributes.Add("class", "block-stars");
output.Attributes.Add("data-title_id", TitleId);
output.Attributes.Add("data-score", Score);
output.Attributes.Add("data-default", Default);
TagBuilder ul = new TagBuilder("ul");
ul.AddCssClass("w3l-ratings");
TagBuilder li;
for (int i = 1; i <= 10; i =+ 2)
{
li = new TagBuilder("li");
li.InnerHtml.AppendHtml(getStarHalf("left", i));
li.InnerHtml.AppendHtml(getStarHalf("right", i + 1));
ul.InnerHtml.AppendHtml(li);
}
output.Content.AppendHtml(ul);
}
private TagBuilder getStarHalf(string direction, int id)
{
TagBuilder div = new TagBuilder("div");
div.AddCssClass("star-half");
div.Attributes.Add("data-star_half_id", id.ToString());
TagBuilder svg = new TagBuilder("svg");
svg.Attributes.Add("version", "1.1");
svg.Attributes.Add("id", "Layer_1");
svg.Attributes.Add("xmlns", "http://www.w3.org/2000/svg");
svg.Attributes.Add("xmlns:xlink", "http://www.w3.org/1999/xlink");
svg.Attributes.Add("x", "0px");
svg.Attributes.Add("y", "0px");
svg.Attributes.Add("viewBox", "0 0 8.7 16.7");
svg.Attributes.Add("xml:space", "preserve");
TagBuilder path = new TagBuilder("path");
path.TagRenderMode = TagRenderMode.SelfClosing;
path.AddCssClass("star-half-" + direction);
path.Attributes.Add("d", "M8.9,1.7L6,6.1L0.5,6.9l3.9,3.8l-0.9,5.5c1.8-1,3.6-1.9,5.4-2.9");
svg.InnerHtml.AppendHtml(path);
div.InnerHtml.AppendHtml(svg);
return div;
}
Ну и что в теории он должен вернуть:
<div class="block-stars" data-title_id="56" data-score="6" default="true">
<ul class="w3l-ratings" >
<li>
<div class="star-half" data-star_half_id="1">
<svg
version="1.1"
id="Layer_1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px"
y="0px"
viewBox="0 0 8.7 16.7"
xml:space="preserve">
<path class="star-half-left"
d="M8.9,1.7L6,6.1L0.5,6.9l3.9,3.8l-0.9,5.5c1.8-1,3.6-1.9,5.4-2.9"/>
</svg>
</div>
<div class="star-half" data-star_half_id="2">
<svg
version="1.1"
id="Layer_1"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
x="0px"
y="0px"
viewBox="0 0 8.7 16.7"
xml:space="preserve">
<path class="star-half-right"
d="M8.9,1.7L6,6.1L0.5,6.9l3.9,3.8l-0.9,5.5c1.8-1,3.6-1.9,5.4-2.9"/>
</svg>
</div>
</li>
<!-- and so on 10 times -->
</ul>
</div>
Но при обращении по адресу экшена идёт очень долгая загрузка и ничего не возвращается.
Ещё чуть ранее, до того как я исправил некоторые моменты (которые по идее не должны были иметь отношения к проблеме (?)), он вовсе за несколько секунд съедал всю ОЗУ и лез в swap, что приводило к зависанию рабочей машины.
А именно, на тот момент li
объявлялся внутри цикла, результаты getStarHalf()
я отдавал ul
и забыл добавить output.Content.AppendHtml(ul);
.
После исправления этих моментов память перестала потребляться в огромных масштабах, но всё равно потреблялась понемногу (выросла с 300мб до 500мб прежде чем выдать ошибку).
Ошибка: HTTP Error 502.3 - Bad Gateway
за несколько секунд съедал всю ОЗУ
Цикл никогда не заканчивается, а крутится с i
равным двум, создавая новые объекты.
for (int i = 1; i <= 10; i = i + 2)
или
for (int i = 1; i <= 10; i += 2)
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть координаты прямоугольника на экране: Min0, Min1, Max0, Max1Их нужно превратить в
Добрый день! Пытаюсь отправить методом POST xml-файл (в УТМ ЕГАИС)В ответ сервер выдает ошибку Error 500 Server Error HTTP ERROR 500 Problem accessing /opt/in/QueryRests_v2
Из документации откровенно говоря ничего непонятно, все очень сумбурноЧто именно делает этот метод?
Приветствую всех! Есть Сайт, и есть необходимость качать видеострим к себе, затем транслировать его же, но уже без флеша, в перспективеВсе...