powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Использование Spring.Net в asp.net сайте
2 сообщений из 2, страница 1 из 1
Использование Spring.Net в asp.net сайте
    #37449381
oblomov86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю тестовый пример со спрингом.
Интерфейс:
Код: plaintext
1.
2.
3.
public interface ICalculate
{
   double Summ(double a, double b);
}
Класс, в котором этот интерфейс реализован:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
public class Calculator : ICalculate
{
   public double Summ(double a, double b)
   {
      return a + b;
   }
   public Calculator() { }
}
Класс, в котором объявлено свойство типа ICalculate:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
public class Interfacer
{
   public ICalculate calculateController { get; set; }
   public double getSumm(double a, double b)
   {
      return calculateController.Summ(a, b);
   }
   public Interfacer() { }
}
На странице делаю следующее:
Код: plaintext
1.
Interfacer i = new Interfacer();
Label1.Text = i.getSumm(double.Parse(TextBox1.Text), double.Parse(TextBox2.Text)).ToString();

В web.config настроил так (IIS 7):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<configSections>
   <sectionGroup name="spring">
      <section name="context" type="Spring.Context.Support.WebContextHandler, Spring.Web"/>
      <section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core"/>
   </sectionGroup>
</configSections>
<spring>
   <context type="Spring.Context.Support.WebApplicationContext, Spring.Web">
      <resource uri="config://spring/objects"/>
   </context>
   <objects xmlns="http://www.springframework.net">
      <object name="Interfacer" type="Interfacer" >
         <property name="calculateController" ref="Calculator"/>
      </object>
      <object name="Calculator" type="Calculator" />
   </objects>
</spring>
...
<system.webServer>
   <validation validateIntegratedModeConfiguration="false"/>
   <modules>
      <add name="Spring" type="Spring.Context.Support.WebSupportModule, Spring.Web"/>
   </modules>
   <handlers>
      <add name="SpringPageHandler" verb="*" path="*.aspx" type="Spring.Web.Support.PageHandlerFactory, Spring.Web"/>
      <add name="SpringContextMonitor" verb="*" path="ContextMonitor.ashx" type="Spring.Web.Support.ContextMonitor, Spring.Web"/>
   </handlers>
</system.webServer>

Но при создании объекта Interfacer spring не создает для свойства calculateController объект типа Calculator. Что я делаю не так?
...
Рейтинг: 0 / 0
Использование Spring.Net в asp.net сайте
    #37449957
oblomov86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо мне за то, что еще раз внимательно прочитал мануал.
Для консольного приложения после настройки инъекций в web.config в коде нужно писать так:
Код: plaintext
var myClassInstance = (myClass)ContextRegistry.GetContext().GetObject("myClass");

В asp.net сайте страница должна наследоваться от BasePage : Spring.Web.UI.Page, в котором указаны свойства типа интерфейсов, функционал которых будет нужен на странице. И никакого GetContext не требуется.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<spring>
   <context type="Spring.Context.Support.WebApplicationContext, Spring.Web">
      <resource uri="config://spring/objects"/>
   </context>
   <objects xmlns="http://www.springframework.net">
      <object name="Default" type="Default.aspx" >
         <property name="PageCalculator" ref="Interfacer"/>
      </object>
      <object name="Interfacer" type="Interfacer" >
         <property name="calculateController" ref="Calculator"/>
      </object>
      <object name="Calculator" type="Calculator" />
   </objects>
</spring>
Код: plaintext
Label1.Text = PageCalculator.getSumm(double.Parse(TextBox1.Text), double.Parse(TextBox2.Text)).ToString();
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Использование Spring.Net в asp.net сайте
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]