|
|
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Вернее, как вызвать то, понятно... проблема в том, что в методе используется статическое поле этого самого класса-контроллера - хозяина вызываемого метода... и поле получает данные в конструкторе... если класс ранее не вызывался, то получаю поле - Null, а мне нужны его данные.... Подскажите - плиииз... где я чего то не догоняю... как активировать конструктор поля???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 14:23 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
1. вынести инициализацию в другой метод, в геттере этого полу проверять - если нулл, то инициировать 2. вы делаете какое-то зло, на мой взгляд. зачем вам статическое поле другого контроллера которое, к тому же, инициируется в конструкторе! Это же изврат получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 14:39 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
SanSYS дело говорит. За статику в контроллерах нужно руки отрывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 14:44 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
ЗЛОООО..... данувымне льстите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 14:47 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Дело в том что на каждом соответствующем контроллере висит свой репозиторий... и что бы из какого либо контроллера получить данные соседней сущности надо либо... объявлять репозиторий той сущности в этом контроллере, ли бо как я хочу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 14:50 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Не поиму, чем в этом случае плох метод??? он сделал свое дело, принес данные и отвалил.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 14:52 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Alex RubyДело в том что на каждом соответствующем контроллере висит свой репозиторий... и что бы из какого либо контроллера получить данные соседней сущности надо либо... объявлять репозиторий той сущности в этом контроллере, ли бо как я хочу... А зачем статика? Service locator pattern Код: c# 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 15:20 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 15:21 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
МСУ Код: c# 1. Это я так понимаю IoC контейнер??? Но у меня уже стоит... другой... проблема не в этом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 15:53 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Я же говорю..., чтобы не открывать по 5-10... 100 интерфейсов в контроллере я пытаюсь наладить сообщения между контроллерами через статические методы, не возвращающие (кстати) действие... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 15:56 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Alex RubyЭто я так понимаю IoC контейнер??? Да. Alex RubyНо у меня уже стоит... другой... проблема не в этом А в чем проблема? Alex RubyЯ же говорю..., чтобы не открывать по 5-10... 100 интерфейсов в контроллере я пытаюсь наладить сообщения между контроллерами через статические методы, не возвращающие (кстати) действие... 1. Что такое "открывать по 100 интерфейсов в контроллере"? 2. Какое сообщение, контроллер 1 ничего не должен знать о контроллере 2. 3. Если речь о наследовании логики, - кто мешает создать базовый контроллер, а остальные контроллеры по-человечески наследовать об базового? 4. У Вас каша в башке, вот и мечитесь из огня да в полымя со своими статиками. Статику на свалку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 16:01 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 16:06 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Гавнокоду место на свалке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 16:10 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. и так сколько будет максимум... даже боюсь представить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 16:11 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
МСУГавнокоду место на свалке. У Вас, уважаемый, все 18 000 мессав гро "гавно"??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 16:17 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
МСУAlex RubyЭто я так понимаю IoC контейнер??? 3. Если речь о наследовании логики, - кто мешает создать базовый контроллер, а остальные контроллеры по-человечески наследовать об базового? Логика мне не нужна... только данные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 16:19 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Alex Ruby Код: c# 1. 2. 3. 4. 5. 6. 7. А.. узнаю подход, в книжке по MVC какой-то видел, там же IoC описывался выкиньте этот код, сделайте как говорит МСУ - вынести эту логику в базовый класс и не делайте репозитори статичным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 16:45 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Буду справедлив... Помогли... пнули в нужном направлении.... Книжка Сандерсона..., не самого глупого на мой взляд мастера ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 21:07 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Alex RubyБуду справедлив... Помогли... пнули в нужном направлении.... Книжка Сандерсона..., не самого глупого на мой взляд мастера У Сандерсона не стояла задача научить правильно писать код, у него была задача научить неокрепший ум основам ASP.NET MVC. Статика в прикладном бизнес-коде - зло. ASP.NET многопоточен, следовательно нужно понимать и знать - как работает статика и чем она может обернуться в итоге. http://msdn.microsoft.com/ru-ru/library/6sby1byh.aspx Следует учитывать, что любой код конструктора класса будет работать с первым потоком в первом контексте, получающим доступ к полю.Поля во всех других потоках и во всех других контекстах в пределах того же домена приложения будут инициализированы значением null (Nothing в Visual Basic), если они имеют ссылочные типы, или значениями по умолчанию, если они имеют типы значения. Поэтому не следует полагаться на инициализацию статических полей потока конструкторами классов.Напротив, следует избегать инициализации статических полей потока и предполагать, что они инициализированы значениями null (Nothing) или значениями по умолчанию . Статика плоха так и в модульном тестировании, никакой слабосвязанности, моки идут лесом и т.д. Если у тебя, чудо ты неверующее, не хватает мозгов понять эти простые прописные истины - читай дальше своего Сандерсона. В сад. + RTFM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 23:04 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Отлично... что Вы вспомнили о потоках.... давайте ущё вспомним и о ControllerFactory.... не он ли делает уникальным каждый поток для класса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2012, 14:22 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Alex Rubyне он ли делает уникальным каждый поток для класса... Сам-то понял, что ляпнул? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2012, 14:34 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Отдельный класс для каждого потока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2012, 17:31 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Отдельный мозг для каждого человека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2012, 18:49 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Alex Ruby, в твоем случае экземпляр статической переменной доступен во всех контекстах обработки конкретного контроллера!!! Поясняю: 1. n пользователей одновременно запрашивают одну страничку (то что реально не одновременно не объясняем?) 2. т.к. ты инициализируешь статику в конструкторе - при каждом запросе она будет переинициализироваться 3. ввиду этого возможны нарушения обработки у других пользователей (а казалось бы - с какого хуйа, да?) и даже текущего пользователя, более того - какой-то пользователь получит нулреферн эксепшн, если статика убивается, или инфу о том что сущности ORM не привязаны к контексту или контекс изменился и прочие волшебные штуки (чего только не бывало, но в данной ситуации даже предположить что нить еще не могу) посмотри первую ссылку + рекомендую хотя бы по 20 страниц в день почитать вот это или аналогичное (т.е. гугли, на торренты ссылки не дам, уж ссори) важно не только знать ключевые слова языка, нужно немного понимать как работает приложение изнутри (иной раз задумываться как отреагирует компилятор) также почитай про паттерны проектирования, там много полезных вещей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2012, 22:17 |
|
||
|
Как вызвать статический метод из другого контроллера?
|
|||
|---|---|---|---|
|
#18+
Alex RubyОтлично... что Вы вспомнили о потоках.... давайте ущё вспомним и о ControllerFactory.... не он ли делает уникальным каждый поток для класса... 1. оффтоп - к чему столько многоточий? :) 2. плохо что вы вспомнили о ControllerFactory, т.к. вы сделали какое-то хитрожопое умозаключение или попросту - сказал как в лужу пернул http://msdn.microsoft.com/ru-ru/library/system.web.mvc.icontrollerfactory.aspx Defines the methods that are required for a controller factory. скажу по секрету - ASP.NET MVC я знаю плохо (очень) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2012, 22:31 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=132&tid=1359713]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 414ms |

| 0 / 0 |
