applicationSettings и Web.config

У меня есть DLL, который обеспечивает вход, который я использую для проектов WebForms и теперь хочу использовать его в проекте ASP.Net MVC 2.

Некоторые аспекты того, что DLL настроен в app.config:

<configuration>
    <configSections>
            <section name="Tools.Instrumentation.Properties.Settings" 
                     type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
                     requirePermission="false" />
        </sectionGroup>
    </configSections>

 <applicationSettings>
        <Tools.Instrumentation.Properties.Settings>
            <setting name="LogLevel" serializeAs="String">
                <value>DEBUG</value>
            </setting>
            <setting name="AppName" serializeAs="String">
                <value>MyApp</value>
            </setting>
            <setting name="Port" serializeAs="String">
                <!--value>33333</value-->
                <value>0</value>
            </setting>
        </Tools.Instrumentation.Properties.Settings>
    </configuration>    

Однако, когда я создаю подобную запись в Web.config, Я получаю ошибку:

Нераспознанный раздел конфигурации applicationSettings

Мой вопрос с двумя частями:

  • Как я заставляю эту запись конфигурации работать в Web.config?
  • Где я могу читать на концептуальных различиях между конфигурацией WinForms и конфигурацией ASP.NET?
20
задан Eric J. 26 February 2013 в 03:24
поделиться

1 ответ

Заметили атрибут name секции?

Попробуйте удалить ваш элемент из обертки

   <Tools.Instrumentation.Properties.Settings>
        <setting name="LogLevel" serializeAs="String">
            <value>DEBUG</value>
        </setting>
        <setting name="AppName" serializeAs="String">
            <value>MyApp</value>
        </setting>
        <setting name="Port" serializeAs="String">
            <!--value>33333</value-->
            <value>0</value>
        </setting>
    </Tools.Instrumentation.Properties.Settings>

Теперь вы можете использовать секцию. Но у вас нет сгенерированного класса обертки, вам придется проделать немного больше работы, чтобы получить ваши значения, используя ConfigurationManager.

Что касается второй части вашего вопроса, то с одной точки зрения, нет практически никакой разницы в том, как конфигурационные файлы обрабатываются веб-приложением и приложениями форм.

Единственное существенное различие, которое может быть или не быть релевантным здесь, это способ, которым файлы web.config могут быть иерархически сопоставлены, каждый последующий файл эффективно дополняет или изменяет родительскую конфигурацию, когда это разрешено. Но это, на мой взгляд, скорее поведенческое, а не функциональное различие.

3
ответ дан 29 November 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: