如何在wcf restful服务中传递多个参数?

IService.cs

[OperationContract] [WebGet(UriTemplate = "/IsValidUser?userid={userid}&password={password}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] string IsValidUser(string userid, string password); 

Service.cs

 public string IsValidUser(string userid, string password) { if (userid =="bob" && password =="bob") { return "True"; } else { return "false"; } } 

web.config中

                                      

问题:

这里我的问题是我想在调用WCFrest服务时传递多个参数,但我无法将多个参数传递给该WCFrest服务。 我想传递用户ID和密码并检查它。 如果它是bob然后允许继续。

当我打电话给这个url时:

 http://localhost:48401/ARService/Service.svc/rest/IsValidUser?userid=bob&password=bob 

然后我在我的网页上收到此错误:

端点未找到。 请参阅服务帮助页面以构建对服务的有效请求。

如果有人知道如何使用此函数参数调用IsValidUser 。 请帮我。

你可以这样写:

Iservice.cs

 [OperationContract] [WebGet(UriTemplate = "IsValidUser/{userid}/{password}")] string IsValidUser(string userid, string password); 

服务.cs

 public string IsValidUser(string userid, string password) { if (userid== "root" && password== "root") { return "True"; } else { return "false"; } } 

在浏览器中运行此Url,然后您将获得输出localhost / service.svc / rest / IsValidUser / root / root

试试这个

 [OperationContract] [WebGet(UriTemplate = "IsValidUser?userid={userid}&password={password}", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] string IsValidUser(string userid, string password); 

在OperationContract上添加BodyStyle

 [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.WrappedRequest)]