Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
Раньше у меня было своё отображение сообщений об ошибках, но почему-то вдруг всё сбилось (хотя настройки не менял) и стала отображаться полная информация об исключении, типа такой, как показана на картинке. Настройки веб-конфига такие: <customErrors mode="Off" /> <compilation debug="false" Ошибки перехватываю в Global.asax в методе Application_Error. В нём формируется лог, который пишется на сервере, и сообщение для пользователя, которое отображается на специальной странице через направление на специальный контроллер и действие: this.Response.Redirect("/Error/ErrorPage"); Так вот, раньше всё работало. Пришёл сегодня, покодил немного (вышеупомянутые настройки не менял) - лог перестал писаться, перенаправление не работает, зато вот эту дефолтную байду, что на картинке, показывает. При этом на изменение compilation debug не реагирует. Делал ребилд проекта - не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 13:53 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
Ага! Нашёл строчку, что это натворила. Когда писал лог (всё в том же методе Application_Error), добавил строчку Код: c# 1. где sb - предварительно созданный в том же методе StringBuilder. Как это может к такому привести?! О_о Не, я, конечно, щас раскрою эту строчку и по строчке отслежу, но... ...Пока такая догадка - при возникновении ошибки в самом Application_Error, отображается вот то, что на картинке, несмотря на все compilation debug="false". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 14:03 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
ctx - это HttpContext ctx = this.Context; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 14:04 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
Так, всё, решил http://stackoverflow.com/questions/17521277/http-x-forwarded-for-missing-from-servervariables-in-c-sharp . Надо проверять наличие такой переменной. Но всё же странно, почему при возникновении ошибки в Application_Error показывается подробная информация об исключении даже при compilation debug="false"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 14:16 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320 Код: c# 1. Что это за гавнокод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:06 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
МСУuser7320 Код: c# 1. Что это за гавнокод? А что не так? Достаю переменную из сервера ( в ней адреса ), разделяешь адреса по разделителю и каждый адрес логируешь (сначала в стринг билдер, затем весь билдер - в лог). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:15 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320, учи Linq. Зачем делать лишний цикл ToList, а потом заново по нему бегать? http://msdn.microsoft.com/ru-ru/library/system.linq.enumerable.aggregate(v=vs.110).aspx Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:50 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
МСУuser7320, учи Linq. Зачем делать лишний цикл ToList, а потом заново по нему бегать? http://msdn.microsoft.com/ru-ru/library/system.linq.enumerable.aggregate(v=vs.110).aspx Код: c# 1. А если стринг билдер создан ранее и там уже много других строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 16:55 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320А если стринг билдер создан ранее и там уже много других строк? А если подумать? Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 17:29 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
МСУ, Ну что............... опять бан ?(( по восьмому пункту не сошлись, или мод -р турбину перекрутил на сухую... тут вам не там... А вобще бан не за что имхо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2014, 18:09 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
МСУuser7320, учи Linq. Зачем делать лишний цикл ToList, а потом заново по нему бегать? http://msdn.microsoft.com/ru-ru/library/system.linq.enumerable.aggregate(v=vs.110).aspx Код: c# 1. ещё вариант Код: c# 1. но вот это самый очевидный и быстрый. никаких в данном случае абсолютно ненужных сплитов и LINQ: Код: c# 1. человеки, что с вами? почему всё надо обязательно сделать, хоть и красиво, но через Ж? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 08:38 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
МСУЗачем делать лишний цикл ToList, а потом заново по нему бегать? кстати, ToList был сделан ради ForEach я так понимаю )) но всё равно говнокод, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 08:41 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
hVosttМСУЗачем делать лишний цикл ToList, а потом заново по нему бегать? кстати, ToList был сделан ради ForEach я так понимаю )) но всё равно говнокод, да. Да, ради. Да, говнокод. Просто первое, что пришло в голову - аналог форича, но не хотелось городить цикл. Почему метод (именно метод) ForEach есть только у списков и массивов? Его неплохо бы для всех коллекций сделать, чтобы потом удобно, в одну строку лямбдами проходиться по ним. На StackOverflow есть даже примеры подобных циклов как расширяющих методов, а в сам .NET почему-то не завезли. Впрочем ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 09:00 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
Есть ещё такие извращения через селект http://stackoverflow.com/a/9092364/808128 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 09:01 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320Есть ещё такие извращения через селект http://stackoverflow.com/a/9092364/808128 Как у Хвоста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 09:02 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
Вобщем, всем спасибо. Сделал как у Хвоста - с Replace. А Aggregate вот где нашёл удобно применять - для итераций с дествием по NameValueCollection. Только я раньше делал с Select, а теперь с Aggregate. Например, есть у нас коллекция NameValueCollection. Надо пройтись по ней и что-нибудь с ней сделать. Раньше я делал так (пример с параметрами формы, sb - стринг билдер, созданный ранее) Код: c# 1. 2. 3. 4. 5. 6. 7. а теперь делаю так Код: c# 1. 2. 3. 4. 5. 6. Ну, как вам мои лямбды? Кто тут говорил, что за лямбды бьют? Кстати, не помню, нафига я использовал раньше KeyValuePair. В первом случае можно было обойтись одним селектом и аналогичной лямбдой, как во втором случае. Наверное, тупо передрал пример, не подумав. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 14:22 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320, рекомендую обзавестись привычкой вложенные проперти сохранять в локальную переменную и потом работать с ней: Код: c# 1. 2. 3. 4. 5. дело в том, что никто не гарантирует, что свойство каждый раз не вычисляется (хотя вроде как все должны понимать, что это плохой тон, да и Рихтер неоднократно вычисляемые проперти обругивал). к тому же код чище и лучше подвержен сопровождению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 19:35 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320На StackOverflow есть даже примеры подобных циклов как расширяющих методов, а в сам .NET почему-то не завезли. дело в том, что LINQ это язык запросов (все методы расширения должны возвращать значение(я)). расширение ForEach не нужен, так как есть прекрасные нативные for(in) и for(;;), которые подходят лучше. вот где действительно уместно применение такой конструкции, это Parallel.ForEach ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2014, 19:44 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
hVosttuser7320На StackOverflow есть даже примеры подобных циклов как расширяющих методов, а в сам .NET почему-то не завезли. дело в том, что LINQ это язык запросов (все методы расширения должны возвращать значение(я)). расширение ForEach не нужен, так как есть прекрасные нативные for(in) и for(;;), которые подходят лучше. вот где действительно уместно применение такой конструкции, это Parallel.ForEach Да я и сам привёл ссылку на ссылку на Липперта. Насколько я понял, там философские рассуждения. Просто они (Липперт и Ко, которые рулили созданием Дотнета) решили сделать вроде как самый оптимальный для всех случаев вариант. Но есть и много случаев, когда такой вот форич в виде метода очень даже подошёл бы. Можно, конечно, циклом, но метод с лямбдой - короче и сахарнее. hVosttuser7320, рекомендую обзавестись привычкой вложенные проперти сохранять в локальную переменную и потом работать с ней: Код: c# 1. 2. 3. 4. 5. дело в том, что никто не гарантирует, что свойство каждый раз не вычисляется (хотя вроде как все должны понимать, что это плохой тон, да и Рихтер неоднократно вычисляемые проперти обругивал). к тому же код чище и лучше подвержен сопровождению. Не понял, причём тут вычисляемые свойства? Тут же поля формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 07:53 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320Но есть и много случаев, когда такой вот форич в виде метода очень даже подошёл бы. дело не в филосовских рассуждениях. LINQ это язык запросов. соответственно для программиста, который будет читать и поддерживать код, должно быть как минимум кристально очевидно, что цепочка возвращает какой-то результат. даже результат работы Aggregate надо присваивать по-любому, а не паразитировать на "текучем" свойстве того же StringBuilder. user7320Не понял, причём тут вычисляемые свойства? Тут же поля формы. ещё раз. SomeObject.SomeProperty.SomeSubProperty и т.д. надо загонять в локальную переменную, если требуется к свойству SomeSubProperty обращаться в теле метода более одного раза. такая мелочь, а выдаёт новичка с головой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 09:19 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
hVosttuser7320Но есть и много случаев, когда такой вот форич в виде метода очень даже подошёл бы. дело не в филосовских рассуждениях. LINQ это язык запросов. соответственно для программиста, который будет читать и поддерживать код, должно быть как минимум кристально очевидно, что цепочка возвращает какой-то результат. даже результат работы Aggregate надо присваивать по-любому, а не паразитировать на "текучем" свойстве того же StringBuilder. Т. е. когда надо пройтись методом по каждому элементу коллеции, то, по-вашему, лучше использовать обычный цикл, чем "метод, который проходит по всем элементам коллекции, с лямбдой"? И при этом это правильно не с точки зрения выполнения кода программы, а с точки зрения чтения и понимания кода другим программистом? Поэтому чисто технически ничего не мешает сделать форич для коллекций в виде расширяющего метода или ещё чего (на том же StackOverflow есть много простейших реализаций), но вот философия не позволяет? Я же и говорю - философия. Достаточно поменять одно слово в определении LINQ (query... ну или понимать его шире, чем просто запрос, на который должен прийти ответ), и проблемы как не бывало. Да? hVosttuser7320Не понял, причём тут вычисляемые свойства? Тут же поля формы. ещё раз. SomeObject.SomeProperty.SomeSubProperty и т.д. надо загонять в локальную переменную, если требуется к свойству SomeSubProperty обращаться в теле метода более одного раза. такая мелочь, а выдаёт новичка с головой. Перестраховка? Или традиции и "философия общего случая" и "надо делать универсально"? Так ведь это свойство измениться не может - мне на сервер форма со своими значениями "приехала" от клиента и там всё жёстко забито. Поэтом в данном конкретном случае я не вижу причины заводить отдельную переменную для считываемых полей. А вот в тех случаях, когда во время чтения могут поменяться значения - да, надо бы "зафиксировать момент". Но и тогда может быть нужно, чтобы считывались именно текущие значения полей, а не зафиксированные на какой-то момент. Я к тому, что это всё от случая зависит, а вы как бы хотите подвести общее правило - "делать так всегда и везде". Да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 11:15 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320Я же и говорю - философия. Достаточно поменять одно слово в определении LINQ т.е. считаете, тама в команду разработки фреймворка каких-то оболдуев набрали с подворотни, которые не смогли догадаться "мегафичу" прикрутить? цикл это цикл, для этого есть всеми понимаемая , ясная, и удобная синтаксическая конструкция , да не одна, простая, чистая, однозначная. user7320Т. е. когда надо пройтись методом по каждому элементу коллеции, то, по-вашему, лучше использовать обычный цикл, чем "метод, который проходит по всем элементам коллекции, с лямбдой"? этот супер-метод с лямбдой, нафиг в языке не упёрся user7320Я к тому, что это всё от случая зависит, а вы как бы хотите подвести общее правило - "делать так всегда и везде". Да? нет, я всего лишь порекомендовал обзавестись полезной привычкой, если имеется желание когда-нибудь в обозримом будущем поработать над разработкой проектов в команде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 11:50 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320, в защиту новшевств добавлю, что когда прикрутили LINQ, ещё долгое время основная масса боялась его серьёхно использовать, предпочитая обычные циклические конкструкции для перебора элементов. да и сейчас ещё не каждый способен написать на LINQ что-нибудь по-сложнее обычного фильтра и конверта. однако уже повадились с гордостью писать свои кул-расширения типа ForEach, предварительно скопипастив кусок со StackOverflow... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 11:59 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
hVosttuser7320Я к тому, что это всё от случая зависит, а вы как бы хотите подвести общее правило - "делать так всегда и везде". Да? нет, я всего лишь порекомендовал обзавестись полезной привычкой, если имеется желание когда-нибудь в обозримом будущем поработать над разработкой проектов в команде. А что, когда проекты в команде, то везде и всюду фичекат? "Так, эти средства языка не используем - это слишком голову засоряет", "Тут лямбды не надо... и вообще лямбды не надо - у нас за них бьют", "Элементы коллекций менять только циклом. А Линк у нас вообще забанен на уровне кастомного дистрибутива Дотнета, из которого он выкинут"? hVosttuser7320, в защиту новшевств добавлю, что когда прикрутили LINQ, ещё долгое время основная масса боялась его серьёхно использовать, предпочитая обычные циклические конкструкции для перебора элементов. да и сейчас ещё не каждый способен написать на LINQ что-нибудь по-сложнее обычного фильтра и конверта. однако уже повадились с гордостью писать свои кул-расширения типа ForEach, предварительно скопипастив кусок со StackOverflow... "Боятся использовать" - муахаха! Так и сказали бы, что не слезают с заказчиков, которые на 2.0 всё заказывают и на XP без сервис паков сидят - думают, что деньги экономят. "Бояки" тупо ленятся учить что-то новое. Зато знатно работают в командах - наверное, из тиммитингов-говорилен не вылезают, бездельники хреновы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2014, 23:15 |
|
||
|
ASP.NET MVC - слетела настройка отображения ошибок
|
|||
|---|---|---|---|
|
#18+
user7320А что, когда проекты в команде, то везде и всюду фичекат? "Так, эти средства языка не используем - это слишком голову засоряет", "Тут лямбды не надо... и вообще лямбды не надо - у нас за них бьют", "Элементы коллекций менять только циклом. А Линк у нас вообще забанен на уровне кастомного дистрибутива Дотнета, из которого он выкинут"? я откеда знаю, во всех командах мира мне не довелось учавствовать. иногда без слёз не взглянешь. user7320Так и сказали бы, что не слезают с заказчиков, которые на 2.0 всё заказывают и на XP без сервис паков сидят - думают, что деньги экономят. весьма распространённая ситуация ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2014, 02:58 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=84&tid=1357762]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 354ms |

| 0 / 0 |
