Открыть web.config из консольного приложения?

Я понятия не имею , почему GCC организует свой стек так, как он делает (хотя, я думаю, вы можете взломать его источник или эту статью и узнать), но Я могу рассказать вам, как гарантировать порядок определенных переменных стека, если по какой-то причине вам нужно это сделать. Просто поставьте их в struct:

void function1() {
    struct {
        int x;
        int y;
        int z;
        int *ret;
    } locals;
}

Если моя память правильно меня обслуживает, spec гарантирует, что &ret > &z > &y > &x. Я оставил свой K & amp; R на работе, поэтому я не могу приводить главу и стихи.

23
задан Josh 4 February 2009 в 22:29
поделиться

3 ответа

Хорошо я скомпилировал его... и получил доступ к этому так, я знаю, что это работает...

      VirtualDirectoryMapping vdm = new VirtualDirectoryMapping(@"C:\test", true);
            WebConfigurationFileMap wcfm = new WebConfigurationFileMap();
            wcfm.VirtualDirectories.Add("/", vdm);


            // Get the Web application configuration object.
            Configuration config = WebConfigurationManager.OpenMappedWebConfiguration(wcfm, "/");

            ProtectSection(config, @"connectionStrings", "DataProtectionConfigurationProvider");

Это предполагает, что у Вас есть файл, названный web.config в каталоге, названном C:\Test.

, я скорректировал @Dillie-O's методы для взятия Конфигурации в качестве параметра.

необходимо также сослаться на Систему. Сеть и System.configuration и любой dlls, содержащий обработчики конфигураций, которые настраиваются в Вашем web.config.

38
ответ дан Jeff Martin 5 February 2009 в 08:29
поделиться

Когда класс ConfigurationManager захватывают раздел из файла конфигурации, он имеет свойство "IsProtected", которое он может вывести для данного раздела, который Вы захватываете. Если это защищено, можно затем Оставить его без защиты с помощью некоторого кода.

основной метод для шифрования/дешифрования идет как это (взятый от ссылки на статью ниже):

private void ProtectSection(string sectionName, string provider)
{
    Configuration config =
        WebConfigurationManager.
            OpenWebConfiguration(Request.ApplicationPath);

    ConfigurationSection section =
                 config.GetSection(sectionName);

    if (section != null &&
              !section.SectionInformation.IsProtected)
    {
        section.SectionInformation.ProtectSection(provider);
        config.Save();
    }
}

private void UnProtectSection(string sectionName)
{
    Configuration config =
        WebConfigurationManager.
            OpenWebConfiguration(Request.ApplicationPath);

    ConfigurationSection section =
              config.GetSection(sectionName);

    if (section != null &&
          section.SectionInformation.IsProtected)
    {
        section.SectionInformation.UnprotectSection();
        config.Save();
    }
}

Выезд эта статья для полного изложения при работе с этим.

3
ответ дан Dillie-O 5 February 2009 в 08:29
поделиться

Я думаю, что Вы хотите использовать класс WebConfigurationManager с метод OpenWebConfiguration .

Это берет путь к web.config и должно открыть его точно так же, как это было бы в базирующемся приложении HTTPContext.

0
ответ дан Jeff Martin 5 February 2009 в 08:29
поделиться
Другие вопросы по тегам:

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