【发布时间】:2011-01-10 17:54:51
【问题描述】:
我正在编写一个使用 wcf rest 进行身份验证的示例应用程序。这是代码的快照:
服务接口:
[ServiceContract]
public interface IAuthenticate
{
[OperationContract]
[WebInvoke(BodyStyle=WebMessageBodyStyle.Bare,
Method = "POST", UriTemplate = "/VUser",RequestFormat= WebMessageFormat.Xml ), ]
string CreateUser(VUser user);
}
数据合约类:
[DataContract]
public class VUser
{
public VUser()
{
}
[DataMember]
public string NickName { get; set; }
[DataMember]
public string lName { get; set; }
[DataMember]
public string fName { get; set; }
[DataMember]
public string Email { get; set; }
[DataMember]
public string PhoneNumber { get; set; }
[DataMember]
public string Password { get; set; }
[DataMember]
public string Gender { get; set; }
[DataMember]
public int CountryCode { get; set; }
}
服务类:
public class Authenticate : IAuthenticate
{
#region IAuthenticate members
public string CreateUser(Vuser user)
{
//processing xml for response
}
#endregion IAuthenticate
}
客户端代码:
Uri baseAddress = new Uri("http://localhost:8000");
using (WebServiceHost host = new WebServiceHost(typeof(Authenticate), baseAddress))
{
host.Open();
Console.WriteLine("Press any key to terminate");
Console.ReadLine();
host.Close();
}
现在我使用 fiddler 在 host.open() 之后发送请求并发送请求显示:
发帖http://localhost:8000/Vuser/
用户代理:提琴手 主机:本地主机:8000 内容长度:233 内容类型:文本/xml
在请求正文中:
沙 r 苏尼尔 苏尼尔 919900101948 冬天 男性 01
但它返回给我 HTTP/1.1 400 错误请求。我的问题是我是否将 vuser 类正确传递给 create user 方法,或者是否有任何其他方式来发送 vuser。
请帮帮我。
【问题讨论】: