Ajax Autocomplete Webservice Call – Service-Methode, rufe ich das richtig auf?
-
09-06-2019 - |
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;
}
}
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.