临时用c#写一个项目,使用asmx实现webservice。代码如下:
[WebMethod]
public void AddGroup(String app_key, String app_secret, String group_name)
{
String res = addGroup.add(app_key, app_secret, group_name);
Context.Response.Charset = "UTF-8";
Context.Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
Context.Response.Write(res);
Context.Response.End();
}
需要实现group_name字段参数可以选择是否传入,现在如果不传入group_name的话C#会自动返回参数不全。如下:
System.InvalidOperationException: 缺少参数: finger_print_base64。
在 System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
在 System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
在 System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
使用方法重载。
需要在类之前添加WebServiceBinding
在方法前添加MessageName
保证两个方法的MessageName内容不同即可