2011-05-31 5 views
2

Я пытаюсь настроить среду, которая позволила бы мне использовать шаблон для отправки электронной почты тысячам людей. Во всем этом производительность - это ключ, и я пытаюсь выяснить, при запуске myscript.tt, он скомпилирован и выполняется каждый раз или есть скомпилированный объект, который может быть повторно использован для последующих вызовов для выполнения сценария?Шаблон T4 запускается каждый раз, когда он запрашивается?

ответ

2

Это сообщение будет ответить на ваш вопрос:

Understanding T4: Preprocessed Text Templates

Более подробно здесь:

Code Generation and T4 Text Templates

Run-Time Text Generation by using Preprocessed T4 Text Templates

+1

«На первом этапе, двигатель выполняет предварительную обработку шаблона: он анализирует инструкции по обработке, текстовые и кодовые блоки, генерирует конкретный TextTransformatio n, и компилирует его в сборку .NET. На втором этапе движок T4 создает экземпляр класса GeneratedTextTransformation, вызывает его метод TransformText и сохраняет строку, которую он возвращает в выходной файл. «Это второй шаг, который вызывает путаницу. Я был убежден, что предварительно обработанные шаблоны только создается один раз и повторно используется с течением времени, но второй шаг вызывает у меня некоторую путаницу. Мысли? – brainydexter

+0

Выше выдержки из ссылки Олега, которую вы опубликовали. – brainydexter

+1

@brainydexter: вы вызываете это в предварительно скомпилированном шаблоне: string 'result = новый шаблон MyTemplate(). TransformText(); 'Шаблон и его код (логика и т. д.) создаются один раз, но затем вы вызываете TransformText для генерации динамически желаемого результата. В вашем случае я думаю, что вы кормите свой шаблон с помощью другого электронного письма адреса каждый раз, когда вы вызываете TransformText. –

Смежные вопросы