Другое решение - использовать функции генератора в стиле Python, доступные через lazy-gen
и yield
из библиотеки Tupelo :
(ns tst.demo.core
(:use demo.core tupelo.test)
(:require
[tupelo.core :as t] ))
(t/refer-tupelo)
(def ^:dynamic foo 1)
(dotest
(let [result (binding [foo 3]
(lazy-gen
(doseq [x (range 3)]
(yield {:foo foo :x x})))) ]
(println result)))
result => ({:foo 3, :x 0}
{:foo 3, :x 1}
{:foo 3, :x 2})
Вы можете шифровать свои строки подключения в Вашем web.config файле.
строки подключения хранения в классе как свойство или константа не безопасно. любой, кто использует дизассемблер, видит Вашу строку подключения.
лучшим способом является шифрование конфигурации.
Можно зашифровать и дешифровать разделы web.config при помощи инструмента командной строки aspnet_regiis:
Зашифруйте: aspnet_regiis-pef "connectionStrings" "c:\folder\"
Дешифрует: aspnet_regiis - PDF "connectionStrings" "c:\folder\"
Если Вы имеете полный контроль над сервером, можно также сохранить строку подключения в Машине. Конфигурация. Это может быть удобно, если у Вас есть много приложений который вся работа с тем же сервером БД.
я не уверен, если, который стоит зашифровать его, так как необходимо получить доступ к серверу во-первых для просмотра machine.config. И если Ваш сервер был поставлен под угрозу, Encyrption не будет мешать хакеру вытянуть учетные данные из файла конфигурации.
@vartec: это - не совсем ПУТАНИЦА..
IIS может действительно прочитать зашифрованный текст при шифровании его с помощью стандартного механизма шифрования.NET, который не повредит UTF8 или кодирования Unicode. Microsoft также поощряет это как лучшую практику.
Вы видите образец при шифровании строки подключения от этого:
, "Как к: Строки Безопасного соединения, Когда Используя Средства управления Источником данных"