Описание веб-сервиса ASMX параметры WebMethod

Возврат проекции IQueryable

protected void LdsPostings_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{   
    var dc = new MyDataContext();
    var query = dc.Posting.AsQueryable();

    if (isCondition1)
    {
        query = query.Where(q => q.PostedBy == Username);
        e.Result = QueryProjection(query);
        return;
    }

    ...

    if (isConditionN)
    {
        query = query.Where(q => q.Status.StatusName == "submitted");
        query = query.Where(q => q.ReviewedBy == Username);
        e.Result = QueryProjection(query);
        return;
    }
}

и вместо того, чтобы кодировать проекцию многократно, создайте отдельный метод:

private IQueryable QueryProjection(IQueryable<Posting> query)
{
    return query.Select(p => new
    {
        p.PostingID,
        p.Category.CategoryName,
        p.Type.TypeName,
        p.Status.StatusName,
        p.Description,
        p.Updated,
        p.PostedBy,
        p.ReviewedBy,
    });
}
6
задан John Saunders 21 July 2009 в 17:43
поделиться

3 ответа

По умолчанию DefaultWsdlHelpGenerator.aspx вызывается для создания страницы «справки». Вы можете установить другой (или измененный) шаблон с помощью элемента wsdlHelpGenerator в файле web.config.

4
ответ дан 17 December 2019 в 07:07
поделиться

Зачем вам это нужно? Эта страница, которую вы видите в браузере при обращении к вашему asmx, просто дает образцы запросов и ответов. Если вы хотите получить данные с помощью этих примеров, замените значения placholder в запросе на то, что вы запрашиваете из службы, и POST к нему ...

Изменить: я имею в виду, если вам действительно нужно заменить эти значения placholder напишите код в своей службе, чтобы определить, когда кто-то выполняет GET (подразумевающий просмотр из браузера), и поиграйте с ответом, изменив значения заполнителей на все, что вам нужно.

0
ответ дан 17 December 2019 в 07:07
поделиться

Вы не можете этого сделать. Если на странице справки (которую вы описываете) нет поля ввода для определенного параметра, это означает, что она не знает, как это сделать.

Вам не следует уделять этим страницам слишком много внимания в любом слючае. Они ушли с WCF.

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


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

0
ответ дан 17 December 2019 в 07:07
поделиться
Другие вопросы по тегам:

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