如何将字符串数组作为参数传递给asp.net中的webservice

如何将字符串数组作为参数传递给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

+0

的代码很容易受到SQL注入式攻击,如果名称中包含撇号将无法正常工作。代码需要修改以使用SQL参数而不是字符串连接,这将解决这两个问题。 –

+0

完全不相关,但我会考虑使用Web API,更流畅,自我记录和与工作的乐趣。花了我一天的时间来掌握基础知识并构建工作解决方案。也是实体框架?如果你受到框架/工作约束的限制。请忽略。 –

您正在使用GET操作,该操作仅支持URL /查询字符串参数。

对于非原始参数类型,您需要使用HTTP主体。为了使用本体,您应该使用POST或其他HTTP操作之一。

详情请参阅此答案:如图所示Simple post to Web Api