Относительный путь от настроек приложения внутри web.config - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть DLL, которая обеспечивает функцию отправки почты приложению asp.net, эта DLL читает свою конфигурацию из XML-файла, путь которого указан в параметре app.config.

Я перенес конфигурацию в раздел настроек приложения внутри моего web.config:

  <applicationSettings>
      <MyNamespace.MailLibrary.Properties.Settings>
        <setting name="MailTemplatesConfigurationPath" serializeAs="String">
          <value>**./_mail/MailTemplatesConfiguration.xml**</value>
        </setting>
        <setting name="SenderAddress" serializeAs="String">
          <value>noreply@mydomain.com</value>
        </setting>
      </MyNamespace.MailLibrary.Properties.Settings>
  </applicationSettings>

Все работает, но я не могу найти способ указать путь относительно корня веб-приложения, MailTemplatesConfigurationPath значение всегда относительно корня IIS, поэтому:

./_mail/MailTemplatesConfiguration.xml

становится

c:\windows\system32\inetsrv\_mail\MailTemplatesConfiguration.xml

Можно ли ссылаться на корневой путь веб-сайта?

Ответы [ 2 ]

2 голосов
/ 02 сентября 2011

Если ваша проблема в том, что вам не нужен server.MapPath в dll, пусть функция, использующая это значение, примет другой параметр для rootPath, который можно передать из вызывающего кода. Код вызова, которого нет в dll, может использовать MapPath для получения значения rootPath.

0 голосов
/ 01 сентября 2011

Попробуйте:

<value>**~/_mail/MailTemplatesConfiguration.xml**</value>

Также вам может пригодиться следующая ссылка: http://msdn.microsoft.com/en-us/library/ms178116.aspx

...