хостинг страниц asp.net в приложении - PullRequest
1 голос
/ 15 июля 2009

Цель состоит в том, чтобы сгенерировать некоторые отчеты html и сообщения электронной почты html, используя шаблоны, размещенные в приложении, возможно, используя cassini

, поэтому файлы отчетов будут сохранены в app_home \ Report \ Templates * .MyReport файл

Приложение позволит выбрать страницу отчета (.aspx), загрузит ее с помощью API-интерфейса хостинга cassini / asp.net, обработав некоторую пользовательскую разметку для заполнения данных

Полученный html можно просмотреть в элементе управления webbrowser или отправить по электронной почте в виде html email

Есть ли лучший способ? Также были бы полезны любые советы по использованию Кассини как таковые

Ответы [ 2 ]

0 голосов
/ 21 июля 2009

AFAIK вы не можете распространять Cassini с вашими приложениями. Существуют другие настольные веб-серверы, но ни один из них не на 100% совместим с asp.net На мой взгляд, ваше решение будет слишком сложным для реализации.

Редактировать

Я узнаю из этого поста , что

Мне лично нравится опция StringTemplate, упомянутая выше, но вы можете разместить среду выполнения ASP.NET в настольном приложении.

Рик Страл в West Wind Technologies имеет подробный пример того, как его настроить: Использование среды выполнения ASP.Net для расширения настольных приложений с помощью динамических сценариев HTML

Вот еще несколько примеров:

Другие альтернативы

Альтернатива 1

Одним из простых решений было бы сделать простые замены в шаблоне HTML (используя свой собственный процессор, и вы будете готовы к работе.

Примерно так:

<table>
<tr>
  <th>Name</th>
  <th>Phone</th>
</tr>
<tr>
  <th>$Name</th> <!-- you should run a replace with $Name to the name -->
  <th>$Phone</th>
</tr>

Альтернатива 2

Используйте шаблонизатор, такой как StringTemplate (ищите реализацию C #). Эта статья CodeProject является хорошим введением в тему

Альтернатива 3

Если вы хотите что-то более продвинутое (если ваши пользователи могут это сделать), я бы изучил возможность добавления сценариев в ваше приложение (IronPhyton, IronRuby)

0 голосов
/ 15 июля 2009

Лучше использовать xslt для таких задач - вы можете сериализовать вашу модель данных в XML-документ, затем вы можете преобразовать XML-документ с шаблоном xsl в HTML.

...