Можно ли создать страницу из строки в ASP.Net? - PullRequest
1 голос
/ 25 марта 2009

Я могу создать страницу из файла с:

Page page = BuildManager.CreateInstanceFromVirtualPath(
    virtualPath, typeof(Page)) as Page;

Как создать экземпляр страницы из потока или строки?

Спасибо.

1 Ответ

6 голосов
/ 25 марта 2009

Вы можете создать свой собственный VirtualPathProvider , который находится между анализатором ASP.NET и файловой системой. Поставщик по умолчанию в ASP.NET считывает разметку ASPX с диска, но вы можете создать свою собственную, чтобы читать ее из любого места (SQL, поток, строка и т. Д.).

По сути, он работает так, что пользовательский класс VirtualPathProvider берет на себя обработку виртуальных путей, таких как ~ ~ MyPage.aspx (которые вы должны передать BuildManager). Он предоставляет собственную логику для решения, что делать с «~ / MyPage.aspx», что может включать в себя возврат данных, хранящихся в строке или потоке в памяти.

Вот некоторые материалы для начала:

...