用于调用生成ASP.NET的JSON WebService的URL

时间:2015-05-04 22:57:12

标签: c# json web-services

我使用Visual Studio 2012在C#中完成了一项Web服务。 我通常使用SOAP,但现在我需要使用JSON。 所以我使用这段代码创建了一个SOAP方法:

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string test() 
{
     var testArray = new List<clienti>();
     testArray.Add(new clienti() {nome = "Mark", cognome = "Reed", email = "mark.reed@test.com"});
     var serializer = new JavaScriptSerializer();
      return serializer.Serialize(testArray);
}

我可以直接从网址调用此方法吗? (这是我想要获得的真正目标) 像这样的东西:http://ws.mysite.com/serice1.asmx/test

如果我尝试在斜杠后面输入带有方法名称的URL,则不返回数据,但URL格式出错! 在调试模式下,如果单击按钮方法,则所有工作都完美 enter image description here

1 个答案:

答案 0 :(得分:0)

没有asmx webservices没有像webapi或MVC这样的路由器最好创建一个webapi项目,添加一个带有空读写方法的控制器并返回你的数组,它将自动以JSON,XML或BSON默认JSON序列化(你可以改变这在您的客户端请求中的接受标头中)示例方法

public class mycontroller: ApiController
  {

    public string Get()
    {
      var testArray = new List<clienti>();
      testArray.Add(new clienti() {nome = "Mark", cognome = "Reed", email =    "mark.reed@test.com"});
       return testArray ;
    }

您可以访问此网站/ api / controller

这样的网址