概述,采用熟悉的c# 语言。
1.用asmx 。微软的web服务的标准格式。方便。如参数的post,在服务端,跟写普通函数一样,写参数就行,不用考虑http request.
2.由方法生成json字符。只是利用ms 的框架而已。
配置文档。
<?xml version="1.0" encoding="utf-8"?> <!-- 有关如何配置 ASP.NET 应用程序的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> <webServices> <protocols> <add name="HttpPost"/> <add name="HttpGet"/> </protocols> </webServices> </system.web> <connectionStrings> <add name="dbstr" connectionString="Data Source=localhost;Initial Catalog=mycity;User ID=sa;Password="/> </connectionStrings> </configuration>
方法
/// <summary> /// WebService1 的摘要说明 /// </summary> [WebService(Namespace="mycity")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] [System.Web.Script.Services.ScriptService] public class MainPage : System.Web.Services.WebService { //商家的大类 [WebMethod(Description = "商家的大类")] public void Category_MainCategory() { List<Model.VCategory_All> category = bll_category.GetModelList("cg_fatherid='0'"); string jasonCategory = Function.ConvertJson.ListToJson(category); Context.Response.Write(jasonCategory); Context.Response.End(); }
调用方:注意是请求的页面是/直接加方法名字
http://xxxxx/add.asmx/add
错误:
如果发生500错误。
1.加httppost协议
<protocols> <add name="HttpPost"/> <add name="HttpGet"/> </protocols>
2.注意http uri的写法。注意是请求的页面是/直接加方法名字。 微软提供的?op=add 这个页面不是请求页。可以把它作为一个友好帮助页。
3.可以先用一个无参的方法测试。排除参数问题。