Один способ достигнуть Ваши вспомогательные методы состоят в том, чтобы просто включать Ваш файл помощника.
include LoginHelper
cool_login_helper_method(x,y,z)
Это приносит все методы от того модуля помощника в объем в Вашем контроллере. Это - не всегда хорошая вещь. Для разделения объема создайте объект, пропитайте его с полномочиями того помощника и используйте его для вызова методов:
login_helper = Object.new.extend(LoginHelper)
login_helper.cool_login_helper_method(x,y,z)
<час> helper :all
делает все Ваши вспомогательные методы от всех Ваших модулей помощника доступными всему Вашему представления , но это ничего не делает для Ваших контроллеров. Это вызвано тем, что вспомогательные методы разработаны для использования в представлениях и обычно не должны получаться доступ от контроллеров. В более новых версиях направляющих, эта опция всегда включена для каждого контроллера по умолчанию.
Да, если все, что вы заключили в блок с использованием
, это DbCommand
, то вам придется явно закрыть DbConnection
, как вы сейчас делаете в своем коде. Однако достаточно просто вызвать Dispose
. Вам не нужно вызывать одновременно Close
и Dispose
.
Нет, вы этого не сделаете.
После достижения конца блока using для вас вызывается dispose.
http://www.willydev.net/descargas/WillyDev_EntLib_TestGuide.pdf
Блок приложения закрывает соединения с базой данных после завершения работы с ними. Например, реализация метода ExecuteNonQuery включает в себя оператор using. Оператор using получает ресурсы, выполняет оператор и освобождает ресурсы. В этом случае ресурс - это соединение с базой данных. В случае метода ExecuteReader блок приложения использует метод Command-Behavior.CloseConnection для закрытия соединения после закрытия средства чтения.