C#写的webservice实现可选参数
临时用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()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用方法重载。
需要在类之前添加WebServiceBinding
在方法前添加MessageName
保证两个方法的MessageName内容不同即可
貌似不传也没啥影响
[WebMethod]
给个默认值试试