我使用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格式出错! 在调试模式下,如果单击按钮方法,则所有工作都完美
答案 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
这样的网址