Frage

Ok, meine Methode in meinem Webservice erfordert also die Übergabe eines Typs. Sie wird in der ServiceMethod-Eigenschaft des AutoCompleteExtender aufgerufen. Ich weiß nicht, wie ich das machen soll, also habe ich sie so aufgerufen:

ServiceMethod="DropDownLoad<<%=(typeof)subCategory%>>"

Dabei ist subCategory eine Seiteneigenschaft, die so aussieht:

protected SubCategory subCategory
{
    get
    {
        var subCategory = NHibernateObjectHelper.LoadDataObject<SubCategory>(Convert.ToInt32(Request.QueryString["SCID"]));
        return subCategory;
    }
}
War es hilfreich?

Lösung

Ich glaube nicht, dass der Aufruf einer generischen Methode für einen Webservice möglich ist.

Wenn Sie sich die Dienstbeschreibung zweier identischer Methoden ansehen, eine generische und eine nicht:

[WebMethod]
public string[] GetSearchList(string prefixText, int count)
{
}

[WebMethod]
public string[] GetSearchList2<T>(string prefixText, int count)
{
}

Sie sind identisch.Es scheint, dass sowohl SOAP 1.x als auch HTTP POST diese Art von Vorgang nicht zulassen.

Andere Tipps

Sie könnten den ContextKey-Parameter des AutoCompleteExtender verwenden, um eine einzelne Webmethode zu verwenden, die einen Typnamen als Kontextschlüssel akzeptiert.Verwenden Sie dann in der Webmethode Reflection und diesen Parameter, um die gewünschte Zeichenfolge[] zurückzugeben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top