Ответ веб-сервиса повторного использования через наборы данных или подотчеты

Я использую веб-сервис в качестве своего источника данных XML, который возвращает предприятия включая многократные иерархические данные как ниже (коды, измененные для частной жизни проекта);

public class UserData {
   //some scalar properties
    public string Id ...
    public string Name ...
    public string Surname ...

   //some navigational properties
    public Address address ...
    public CourseInfo[] courses ...
    public AwardInfo[] awards ...
}

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

Получить только свойства UserData:


    
    UserApp.ReportingServices/IReportingService/GetUserData
    GetUserDataResponse{}/UserData

Получить Информацию об адресах вместе со свойствами UserData:


    
    UserApp.ReportingServices/IReportingService/GetUserData
    GetUserDataResponse{}/UserData/Address

Получить информацию курса вместе со свойствами UserData:


    
    UserApp.ReportingServices/IReportingService/GetUserData
    GetUserDataResponse{}/UserData/Courses/CourseInfo

Мой вопрос поднимает прямо здесь: Если я буду использовать многократные вопросы набора данных как вышеупомянутый, мой отчет сделает призыв веб-сервиса к каждому набору данных , это имеет, хотя мое обслуживание всегда возвращает тот же самый ответ XML, который включает все данные, необходимые для этих трех наборов данных выше.

Там какой-либо путь состоит в том, чтобы снова использовать, возвратил ответ xml вопроса для других наборов данных? Если бы это было бы возможный, мой отчет назвал бы веб-сервис только одним разом, и наборы данных отфильтровали бы различные части этого ответ XML, не называя веб-сервис снова и снова.

Если это не возможно, чем, какова наиболее успешная практика о показе многократных иерархических данных в том же самом отчете? Я должен создать различные веб-сервисы, возвратив различные иерархические части данных?

3
nl ja de

1 ответы

Наборы данных Reporting Services ограничиваются простой таблицей рядов и колонками - они не могут обработать данные с многократными иерархиями, как вы описали.

Я перепроектировал бы ваш веб-сервис, чтобы отразить это, вероятно разделив его на три набора данных, которые вы описали. Тогда будет три требования веб-сервиса, но без дублирования содержания. Они будут также выполнены параллельно, который, вероятно, будет более эффективным в целом, чем ваш текущий дизайн.

1
добавлено
Это не то, как наборы данных SSRS работают - каждый казнен независимо.
добавлено автор Mike Honey, источник
Вы - правильный Майк. Я не могу установить иерархические данные в набор данных услуг по сообщению.

, Но, я могу послать иерархические данные в отчет как ответ только одного сервисного требования. Вопрос; я могу использовать различные части этого данные xml в различных наборах данных (снова используйте тот же самый xml ответ через наборы данных вместо того, чтобы заставить новый веб-сервис позвать каждого)?
добавлено автор Hasan, источник
Спасибо за разъяснение Майк. Рабочий подход, кажется, называет мои веб-сервисы для каждого набора данных.
добавлено автор Hasan, источник