Вещи в Платформе.NET 4, который каждый программист должен знать [закрытый]

Я недавно переместил в Visual Studio 2010 и обновил мой веб-сайт для работы с Платформой.NET 4. (Из VS 2008 - Платформа 3.5)

Что такое вещи, которые я должен знать для улучшения скорости сайта, удобочитаемости или использования памяти?

71
задан 5 revs, 4 users 91% 18 July 2013 в 18:02
поделиться

16 ответов

Остальные Класс Parallel предоставляет некоторые другие замечательные возможности, такие как Parallel.Invoke (...) и Parallel.ForEach (...) .

Кроме того, если вы что-то делаете с Linq, вы можете использовать метод ParallelEnumerable.AsParallel () для преобразования ваших запросов Linq для параллельного выполнения.

Все это построено на библиотеке параллельных задач , которая предоставляет отличный набор API для работы с задачами абстрактным способом, который масштабируется для любых ресурсов, имеющихся на вашем компьютере, без необходимости слишком много думать о том, сколько именно создаваемые вами темы.

66
ответ дан 24 November 2019 в 12:53
поделиться

Необязательные параметры - одни из моих любимых. Тип динамический кажется многообещающим

12
ответ дан 24 November 2019 в 12:53
поделиться

Для удобства чтения я добавлю свое открытие, как написано в самом вопросе.

При использовании AJAX вы можете указать свойство EnableCdn для scriptManager, чтобы загружать значения из CDN (например, Microsoft CDN)

1
ответ дан 24 November 2019 в 12:53
поделиться

Способ, которым C # реализует поля событий , является новым. Он больше не выполняет внутреннюю очень плохую блокировку (this) по умолчанию. Однако события по-прежнему являются потокобезопасными, поскольку вместо этого теперь используется механизм Interlocked.CompareExchange (...) .

Это привело к некоторым изменениям, которые в некоторых крайних случаях могли нарушить работу. Дополнительная информация:

9
ответ дан 24 November 2019 в 12:53
поделиться

Для программистов ASP.NET технический документ ASP.NET 4 и Visual Studio 2010 Web Development Overview дает исчерпывающий обзор того, что нового в ASP.NET 4. Для серии статей о наиболее заметные и интересные изменения Я бы порекомендовал серию сообщений Скотта Гутери в блоге о VS 2010 и .NET 4 Series .

3
ответ дан 24 November 2019 в 12:53
поделиться

Контракты кода выглядят очень многообещающими как с точки зрения создания более правильного кода, так и с точки зрения создания более полной документации. К сожалению, их еще нет в VS2010 - вам нужно установить надстройку, и даже тогда она не завершена и не закончена и, похоже, все еще находится в стадии разработки.

4
ответ дан 24 November 2019 в 12:53
поделиться

Я считаю, что в WCF есть улучшения, которые устраняют предыдущие неприятности, такие как невозможность настроить WebGet / WebInvoke по-разному для каждой конечной точки. в .Net 3.5. Я считаю, что в 4.0 он полностью настраивается.

0
ответ дан 24 November 2019 в 12:53
поделиться

Мне просто нравится тот факт, что файл web.config небольшой и значимый, а не длинный и полный неизвестных операторов ...

13
ответ дан 24 November 2019 в 12:53
поделиться

Я также хотел бы сослаться на исходную документацию (в данном случае MSDN) для получения исчерпывающего списка улучшений и дополнений:

http://msdn.microsoft .com / en-us / library / ms171868.aspx

Из этой статьи вы легко найдете то, что может улучшить существующую базу кода.

2
ответ дан 24 November 2019 в 12:53
поделиться

Замечательная вещь, идентификаторами клиентов можно управлять:

http://weblogs.asp.net/scottgu/archive/2010/03/30/ clean-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx

Больше никаких CTL0001 $ _DIV0003_TextBox1001 $ или чего-то еще .. .

15
ответ дан 24 November 2019 в 12:53
поделиться

string.Join () теперь имеет подпись, которая принимает IEnumerable вместо только string [] - небольшое улучшение, которое позволяет избавиться от ваших .Select () и .ToArray () код.

18
ответ дан 24 November 2019 в 12:53
поделиться

Класс DirectoryInfo в дополнение к методам GetDirectories и GetFiles теперь имеет свои ленивые версии EnumerateDirectories и EnumerateFiles , которые не позволяют нам иметь большие массивы для хранения всех объектов одновременно.

21
ответ дан 24 November 2019 в 12:53
поделиться
9
ответ дан 24 November 2019 в 12:53
поделиться

Кэш ASP.net теперь находится в собственной сборке!

System.runtime.caching.dll

, что означает, что вы можете использовать в других приложениях, таких как WPF и WinForms, без необходимости извлекать всю сборку system.web

Я просто хочу, чтобы они улучшили CacheItem, чтобы включать встроенную информацию об элементе кеша, например, когда он был добавлен ... когда истечет срок его действия и т. д.

3
ответ дан 24 November 2019 в 12:53
поделиться

Вы можете использовать файлы с отображением в память (точно так же, как собственные функции Windows обращаются к файлам с отображением в памяти) для редактирования очень больших файлов и создания общей памяти для межпроцессного взаимодействия. Подробное объяснение см .: http://msdn.microsoft.com/en-us/library/dd997372.aspx

4
ответ дан 24 November 2019 в 12:53
поделиться

System.Numerics.BigInteger - представляет произвольно большое целое число со знаком.

System.Numerics.Complex - представляет комплексное число.

5
ответ дан 24 November 2019 в 12:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: