создание веб-сервиса с подкачкой - PullRequest
1 голос
/ 07 октября 2010

Я создаю веб-сервис в asp.net 2.0 с помощью c #, и у меня есть веб-метод, который выглядит следующим образом:

 [WebMethod()]
    public List<Comment> GetYourSayComments(int pageNumber, int pageSize, int commentTopicId)
    {
        CommentManager cm = new CommentManager();
        return cm.GetYourSayComments(pageNumber, pageSize, commentTopicId, true);

    }

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

1 Ответ

2 голосов
/ 07 октября 2010

Вы должны создать пользовательский тип, чтобы включить счетчик:

public class EnvelopeWithCount<T>
{
    public T Value { get; set; }
    public int RowCount { get; set; }
}

И тогда ваш веб-сервис вернет новый тип:

[WebMethod]
public EnvelopeWithCount<List<Comment>> GetYourSayComments(int pageNumber,
                                                           int pageSize,
                                                           int commentTopicId)
{
    CommentManager cm = new CommentManager();
    Envelope<List<Comment>> retrunVal = new Envelope<List<Comment>>();
    returnVal.Value = cm.GetYourSayComments(pageNumber,
                                            pageSize,
                                            commentTopicId,
                                            true);
    // Get the count of all rows however you need
    returnVal.RowCount = cm.GetYourSayComments(true).Count();

    return returnVal;
}
...