我在WCF中创建Rest服务。我有一个方法GetUserDetails
,它接受三个参数GetUserDetails/?username={username}&mobileno={mobileno}&imeino={imeino}
。
但是我无法解析这个编码的网址:
本地主机:9005 / Service.svc / GetUserDetails request_header = NULL&安培; request_body =%7B%22mobileNo%22%3A%229827098270%22%2C%22username%22%3A%22member%22%2C%22imeiNo%22%? 3A%22111111%22%7D
包含带有json格式参数的Get Request。以下是我的代码详情:
[ServiceContract]
public interface IService
{
[OperationContract]
[FaultContract(typeof(string))]
[WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.WrappedRequest, UriTemplate = "GetUserDetails/?username={username}&mobileno={mobileno}&imeino={imeino}")]
UserModel GetUserDetails(string username, string mobileno, string imeino);
}
public class Service : IService
{
public UserModel GetUserDetails(string username, string mobileno, string imeino)
{
try
{
con = new SqlConnection(strcon);
if (con.State == ConnectionState.Open)
{
con.Close();
}
SqlCommand cmd = new SqlCommand("SP_AND_userprofiledata",con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@username", username);
cmd.Parameters.AddWithValue("@mobileNo", mobileno);
cmd.Parameters.AddWithValue("@imeiNo", imeino);
da = new SqlDataAdapter();
da.SelectCommand = cmd;
ds = new DataSet();
da.Fill(ds);
}
}
非常感谢任何帮助。
答案 0 :(得分:1)
显然,确实如此:
“对于RESTful服务,WCF提供名为System.ServiceModel.WebHttpBinding的绑定。 此绑定包括知道如何使用HTTP和HTTPS传输读取和写入信息的部分,以及编码适用于HTTP的消息。“
来自here。