Чоппер-Элк (Choper-Elk) — это фреймворк, который представляет собой «комбинированный контейнер для реализации IOC и поддержки различных протоколов WCF».
Он позволяет полностью передать управление сервисами Чоппер-Элку, предоставляя возможность легко переключаться между протоколами WebHttpBinding, BasicHttpBinding и TCPBinding. Встроенный IOC позволяет развязать модули в вашем проекте подобно тому, как программисты на Java используют Spring-Framework, добавляя ряд характеристик (аналогично аннотациям в Java) для внедрения экземпляров.
Описание: Эта особенность применяется к методу. Когда метод отмечен этой особенностью, choper-elk фреймворк автоматически выполнит этот метод.
Примечание: Метод, отмеченный этой особенностью, должен иметь возвращаемое значение.
Пример:
[Configuration("activemqConfig")]
public class ActivemqConfig
{
[Bean(Name = "activemqConnectionFactory")]
public IConnectionFacotry ActiveMQConnectionFacotry()
{
ConnectionFactory factory = new ConnectionFactory();
factory.CientId = "ActiveMQ 测试客户端";
return factory;
}
}
Описание: Эта особенность применяется к параметрам метода. Когда параметр отмечен этой особенностью, choper-elk фреймворк автоматически введёт значение для этого параметра.
Пример:
[Configuration("activemqConfig")]
public class AcitvemqConfig
{
[Bean(Name = "activemqConnectionFactory")]
public IConnectionFacotry ActiveMQConnectionFacotry()
{
ConnectionFactory factory = new ConnectionFactory();
factory.CientId = "ActiveMQ 测试客户端";
return factory;
}
[Bean(Name = "activemqConnection")]
public IConnection ActiveMQConnection([Parameter("activemqConnectionFactory")] ConnectionFactory connectionFactory)
{
IConnection connection = null;
try
{
connection = connectionFactory.CreateConnection();
connection.Start();
}
catch(Exception e)
{
Console.WriteLine(e.Message);
}
return connection;
}
}
Описание: Эта особенность применяется к приватным переменным. Когда приватная переменная отмечена этой особенностью, choper-elk фреймворк автоматически введёт значение для неё.
Примечание: Только когда класс отмечен DataAccessAttribute, BusinessAttribute или ContractAttribute особенностями, приватные переменные, отмеченные ResourceAttribute особенностью, будут автоматически введены.
Пример:
[Business("userBusiness")]
public UserBusinessImpl : IUserBusiness
{
[Resource(Name = "userDataAccess")]
private IUserDataAccess userDataAccess;
public User FindUserById(string userId)
{
if (string.IsNullOrEmpty(userId))
{
return null;
}
return this.userDataAccess.SelectUserById(userId);
}
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )