Давайте возьмем обычную страницу aspx, ~ / admin / template.aspx
Например, в папке администратора разрешены только роли «Администратор».
Теперь я не хочузапустите template.aspx как обычно, но я хочу, чтобы он вызывался из активного процесса.Допустим, я нахожусь на ~ / admin / buildMyStuff.aspx и там я собираю некоторые данные, теперь у меня есть строка запроса, например "? Do = this $ andDo = that $ index = {0}".Теперь я хочу, используя этот шаблон, пройтись по моим данным и сгенерировать результат, поместив его, например, в статический html или в текстовый файл или что-то еще.
Как мне это сделать?Вызываете это как новый запрос, ожидая ответа?Что мне нужно сделать, чтобы он работал под ролью «Администратор», или он делает это автоматически, так как я уже являюсь администратором?
Или есть другая возможность, которая позволяет мне запускать страницу шаблонаи указав мой пользовательский htmltextwriter в качестве вывода?
РЕДАКТИРОВАТЬ:
public static string RenderPageAndGetHtml(string pageUrl, string pageQuery)
{
var sw = new StringWriter();
var wr = new SimpleWorkerRequest(pageUrl, pageQuery, sw);
HttpRuntime.ProcessRequest(wr);
sw.Close();
return sw.ToString();
}
Это решение.
НО:
Похоже, что SimpleWorkerRequest получил ошибку
: происходит следующее:
~ / default.aspx Fails
/ default.aspx Fails
default.aspx Ok
en / default.aspx Fails
/ en / default.aspx Fails
~ / en / default.aspx Fails
РЕДАКТИРОВАТЬ:
Хорошо, я реализовал мой пользовательский запрос HttpWorkerRequest.Теперь это работает ...
Спасибо