Такая ситуация. я сейчас работаю над application, которое отсылает по нескольку е-майлов (клиентам, CS etc) с каждой aspx страницы.
Тексты этих e-mail немного различаются и будут слегка меняться постоянно. Хранить эти тексты в codebehind при этом будет неудобно, так как при каждом изменении текста придется проект перекомпилировать.
Можно ли хранить тексты этих е-маил в текстовых файлах, к которым будет доступ у человека, который будет следить за соответствием текстов текущим нуждам и менять их по ходу дела? А я в aspx странице читала бы текст из этих файлов и отсылала сообщения клиентам.
Но в этом случае, если одновременно несколько человек зашли на страницы не будет ли ошибки, что файл уже открыт для чтения?
В общем, как умные люди это делают?
Хранить тексты в DB? Как тогда создать структуру? - количество и назначение e-mails на каждой странице может быть разным.
Я думаю ситуация довольно тепичная и наверняка должен быть удобный способ.
Да еще в этих файлах мне нужно будет заменить скажем #CustName# на фактическим customer name для каждого клиента, то есть е-mails будут персональные и часть информации будет добавляться или заменяться в codebehind.
Знатоки Web, посоветуйте плиз
-
- Уже с Приветом
- Posts: 5771
- Joined: 02 Dec 1999 10:01
- Location: Saint-Petersburg --> Bellevue, WA
-
- Уже с Приветом
- Posts: 5771
- Joined: 02 Dec 1999 10:01
- Location: Saint-Petersburg --> Bellevue, WA
-
- Уже с Приветом
- Posts: 342
- Joined: 31 Jul 2001 09:01
- Location: Minsk -> CT
Re: Знатоки Web, посоветуйте плиз
AnyaGal wrote:Хранить эти тексты в codebehind при этом будет неудобно, так как при каждом изменении текста придется проект перекомпилировать.
Ну, этого очевидно делать нельзя
AnyaGal wrote:Можно ли хранить тексты этих е-маил в текстовых файлах, к которым будет доступ у человека, который будет следить за соответствием текстов текущим нуждам и менять их по ходу дела? А я в aspx странице читала бы текст из этих файлов и отсылала сообщения клиентам.
Но в этом случае, если одновременно несколько человек зашли на страницы не будет ли ошибки, что файл уже открыт для чтения?
По идее не должно. Особенно если этот выделенный человек никаких специальных мер предринимать не будет . Но я бы предложил базу данных.
AnyaGal wrote:В общем, как умные люди это делают?
Хранить тексты в DB? Как тогда создать структуру? - количество и назначение e-mails на каждой странице может быть разным.
На странице лежит какой-то hardcoded идентификатор темплейта. В базе данных лежат собственно темплейты писем (простая таблица с полями id, body).
AnyaGal wrote:Да еще в этих файлах мне нужно будет заменить скажем #CustName# на фактическим customer name для каждого клиента, то есть е-mails будут персональные и часть информации будет добавляться или заменяться в codebehind.
Ну, выберете какой-нибудь стандартный способ определять "переменные". Можо рассширить описание темплейта в базе данных списком переменных которые он содержит, в этом случае поиск и их замена будет попроще.
IA
-
- Уже с Приветом
- Posts: 5771
- Joined: 02 Dec 1999 10:01
- Location: Saint-Petersburg --> Bellevue, WA
Спасибо!
В случае с БД, мне бы наверное пришлось писать страницу для человека, который меняет тексты писем, так как исправлять текст прямо в таблице неудобно.
С текстовым,и файлами на каждый емаил тоже можно было бы работать, если открывать их как реад-онлы, но один хмл файл удобнее - меньше шансов запутаться в путях и названиях.
Пока остановились на том, что хранить эти шаблоны в XML файле - сделать иерархию типа такой.
<emails>
<page id='PageName1">
<message type="cs" someotherattr=''><![CDATA[formated text]]></message>
<message type="cs" someotherattr=''><![CDATA[formated text]]></message>
</page>
<page id='PageName2">
<message type="cs" someotherattr=''><![CDATA[formated text]]></message>
<message type="cs" someotherattr=''><![CDATA[formated text]]></message>
</page>
</emails>
Потом делать XMLDocument.Load(filename) и добывать нужный текст.
Может в таком способе тоже какая собака порылась, но на первый взгляд все вроде нормально.
В случае с БД, мне бы наверное пришлось писать страницу для человека, который меняет тексты писем, так как исправлять текст прямо в таблице неудобно.
С текстовым,и файлами на каждый емаил тоже можно было бы работать, если открывать их как реад-онлы, но один хмл файл удобнее - меньше шансов запутаться в путях и названиях.
Пока остановились на том, что хранить эти шаблоны в XML файле - сделать иерархию типа такой.
<emails>
<page id='PageName1">
<message type="cs" someotherattr=''><![CDATA[formated text]]></message>
<message type="cs" someotherattr=''><![CDATA[formated text]]></message>
</page>
<page id='PageName2">
<message type="cs" someotherattr=''><![CDATA[formated text]]></message>
<message type="cs" someotherattr=''><![CDATA[formated text]]></message>
</page>
</emails>
Потом делать XMLDocument.Load(filename) и добывать нужный текст.
Может в таком способе тоже какая собака порылась, но на первый взгляд все вроде нормально.