Насколько я знаю, вы можете в значительной степени вернуть любой класс .NET, включая анонимные типы. Я возвратил пользовательские объекты, представляющие мои бизнес-объекты, включая общие коллекции дочерних объектов. Направляющие, целые, строки и т. Д. Все, что можно сериализовать в строку в основном.