如何将字符串数组作为参数传递给asp.net中的webservice
问题描述:
[WebMethod]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public string getUser(string[] username){
string[] result= new string[5];
string qry="";
for(int i=0;i<5;i++)
{
username[i]= a;
qry="SELECT * FROM USER WHERE USERNAME='" + a + "' ";
result[i] = getjsondata(qry);
return result[i];
}
}
当我尝试执行一个方法时,它显示测试表单仅适用于具有基本类型作为参数的方法。我试过List
作为参数,那也失败了。我想将string[]
作为参数传递给WebMethod
。如何将字符串数组作为参数传递给asp.net中的webservice
答
您正在使用GET
操作,该操作仅支持URL /查询字符串参数。
对于非原始参数类型,您需要使用HTTP主体。为了使用本体,您应该使用POST
或其他HTTP操作之一。
详情请参阅此答案:如图所示Simple post to Web Api
的代码很容易受到SQL注入式攻击,如果名称中包含撇号将无法正常工作。代码需要修改以使用SQL参数而不是字符串连接,这将解决这两个问题。 –
完全不相关,但我会考虑使用Web API,更流畅,自我记录和与工作的乐趣。花了我一天的时间来掌握基础知识并构建工作解决方案。也是实体框架?如果你受到框架/工作约束的限制。请忽略。 –