Ваше наблюдение является пятном на - на самом деле, это зеркально отражает тот, сделанный Mads Torgersen, Microsoft C# Language PM.
Mads сделал сообщение в октябре 2006 на этом предмете названным , Что такое Набор? , в котором он записал:
Допущенный, мы унесли его в первой версии платформы с Системой. Наборы. ICollection, который является рядом с бесполезным. Но мы согласовали его вполне прилично, когда дженерики пришли в платформе.NET 2.0: Система. Наборы. Универсальный. ICollection< T> позволяет Вам Добавить и Удалить элементы, перечислить их, считать их и проверить на членство.
, Очевидно, с тех пор, все реализовали бы ICollection< T> каждый раз они делают набор, правильно? Не так. Вот то, как мы использовали LINQ для приобретения знаний о том, что наборы действительно, и как это заставило нас изменить наш дизайн языка в C# 3.0.
оказывается, что существует только 14 реализаций ICollection
в платформе, но 189 классов, которые реализуют IEnumerable
и имеют общественность Add()
метод.
существует скрытое преимущество для этого подхода - если бы они основывали его на эти ICollection
интерфейс, был бы точно, каждый поддерживал Add()
метод.
Напротив, подход они действительно предпринимали меры, что инициализаторы для набора просто формируют наборы аргументов в пользу эти Add()
методы.
Для иллюстрирования давайте расширим код немного:
class Test : IEnumerable
{
public IEnumerator GetEnumerator()
{
throw new NotImplementedException();
}
public void Add(int i) { }
public void Add(int i, string s) { }
}
можно теперь записать это:
class Program
{
static void Main()
{
Test test
= new Test
{
1,
{ 2, "two" },
3
};
}
}
SSRS - это серверная система отчетов, тогда как Telerik Reporting - это чисто встроенный инструмент отчетности . Вы должны сравнивать Telerik Reporting с элементом управления SSRS ReportViewer в режиме локальной обработки , а не со всей системой SSRS, если вы не собираетесь также использовать сервер SSRS. Я думаю, это первый вопрос, на который нужно ответить: вы должны оценить плюсы и минусы использования сервера отчетов.
Обычная причина выбора встроенных отчетов состоит в том, чтобы избежать зависимости от сервера . Если вы разработчик приложения и развертываете свое приложение на нескольких сайтах, вам придется поддерживать установку нескольких SSRS в дополнение к вашему приложению. Отчеты Telerik компилируются в dll, которую вы можете легко развернуть с вашим приложением.
Как правило, SSRS на основе сервера более многофункциональна, чем отчеты Telerik, особенно удобен таблик SSRS 2008 . Я думаю, что Telerik Reporting поддерживает кросс-таблицы только с первого квартала 2009 г. Он не поддерживает интерактивные функции, такие как детализация. Вы должны увидеть известные ограничения отчетов Telerik, а также существенные улучшения в SSRS 2008 по сравнению с SSRS 2005. С другой стороны, ReportViewer в локальном режиме понимает только RDL 2005, поэтому вы ограничены функциями SSRS 2005.
Теперь стало проще изучить ваши требования.
Создание отчетов из пользовательского приложения ASP.NET
Планирование отчетов
Отчеты по электронной почте по запросу или по расписанию
Вывод в формате PDF
Drilldown html
ReportViewer поддерживает два типа источники данных в режиме локальной обработки: набор данных, содержащий ADO.NET DataTable объект или перечислимый сбор бизнес-объектов. ReportViewer Windows Forms также поддерживает привязку к экземплярам System.Windows.Forms.BindingSource и в System.Type. Веб-программа просмотра отчетов сервер поддерживает привязку к экземпляру of System.Web.UI.IDataSource.
Учитывая ваши ключевые элементы и предполагая, что вы составляете внутреннюю отчетность внутри корпоративного брандмауэра, я бы определенно рекомендую использовать сервер SSRS. Попробуйте получить одну лицензию SQL Server 2008 или используйте SQL 2008 Express в качестве сервера отчетов. Но если вам абсолютно необходимо использовать встроенные отчеты, Telerik, вероятно, будет лучшим выбором, по крайней мере, до тех пор, пока Microsoft ReportViewer не будет поддерживать RDL 2008 в локальном режиме. Этот новый ReportViewer должен поставляться с Visual Studio 2010.
Для SSRS я рекомендую прочитать Тео Лачева Прикладные службы отчетов Microsoft SQL Server . Примеры глав доступны на сайте книги the и в Google Книгах .
Telerik Reporting также имеет отличную поддержку. Разработка отчетов Telerik в значительной степени опирается на образцы и форумы поддержки .
Я также писал в блоге сообщения о встроенных отчетах и Telerik Reporting в частности.