npm run serve
в основном просто говорит: « npm , пожалуйста, , запустите команду, которую я определил под именем serve в package.json ». «То же самое происходит с npm run dev
.
Учитывая это, команды могут делать одно и то же, похожие вещи или очень разные вещи. Обычно они являются сокращением для запуска сервера разработки на локальном хосте, но это не правило, а всего лишь соглашение.
Так что вам нужно проверить в package.json
файле и найти
"scripts": {
"serve": "[list of commands here]",
"dev": "[list of commands here]"
},
Существует константа, скрытая в.NET, которая содержит имя поля состояния отображения. Мы сделали сжатие путем сцепления в методах, которые Вы описываете, но хранение состояния отображения называет то же без проблем.
эй сжатие состояния отображения работает на меня без любых проблем. в основном у меня есть базовый класс для всех моих aspx страниц, которые используют состояние отображения. даже я использую другой ключ состояния отображения для сохранения моего состояния отображения. однако необходимо переопределить 2 метода для этого:
1) - для сохранения состояния отображения 2) - для загрузки состояния отображения
пока Вы делаете это, у Вас не должно быть проблем. посмотрите ниже кода, который я использую для своего базового класса
using System;
using System.IO;
using System.Web.UI;
namespace XC.UI.WebForms
{
public class PageBase : System.Web.UI.Page
{
protected override object LoadPageStateFromPersistenceMedium()
{
string viewState = Request.Form["__VSTATE"];
byte[] bytes = Convert.FromBase64String(viewState);
bytes = XC.Common.ViewStateHelper.Decompress(bytes);
LosFormatter formatter = new LosFormatter();
return formatter.Deserialize(Convert.ToBase64String(bytes));
}
protected override void SavePageStateToPersistenceMedium(object viewState)
{
LosFormatter formatter = new LosFormatter();
StringWriter writer = new StringWriter();
formatter.Serialize(writer, viewState);
string viewStateString = writer.ToString();
byte[] bytes = Convert.FromBase64String(viewStateString);
bytes = XC.Common.ViewStateHelper.Compress(bytes);
ClientScript.RegisterHiddenField("__VSTATE", Convert.ToBase64String(bytes));
}
}
}
Это может быть излишеством, но существует очень прохладное аппаратное решение к этой проблеме по www.strangeloop.net. Никакое присоединение, просто впечатленное технологией.
Назад к странице tho - какие виды средств управления генерируют все это состояние отображения? Сетки? Вы уже указали на осмотр через это но действительно не упустите 'ненужный runats' с таблицами, td's, TR, отделение, и т.д. которые имеют runat = набор "сервера". Весь контент тех средств управления сохраняется в состоянии отображения. Мы недавно прервали 40% от нашей полезной нагрузки состояния отображения путем распознавания, что отделение было клиентским и не нуждалось в runat = "сервер".