【发布时间】:2015-02-13 08:00:07
【问题描述】:
我想将 Json 响应反序列化到我的类对象中。我创建了一个 WCF Restful 服务,并从使用代理对象的客户端调用了一个返回 json 的服务方法。现在我想将该 json 转换为我的类对象。 我的服务如下:
[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "GetProject/{projectID}")]
tblProject GetProject(String projectID);
实现:
public tblProject GetProject(String projectID)
{
tblProject pro = new tblProject();
pro = DAL.ProjectDAL.GetProject(Convert.ToInt32(projectID));
return pro;
}
我从 MVC 中的控制器发出请求:
public ActionResult Index()
{
var request = (HttpWebRequest)WebRequest.Create("http://localhost:8733/Design_Time_Addresses/RestServiceLibrary.RESTService/REST_ProjectService/getproject/2");
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
string txtResult = reader.ReadToEnd();
return view();
}
当我运行时,我得到的响应是:
当我通过代理方法调用时出现异常:
但我的端点在配置中,
【问题讨论】:
-
您没有使用 WCF 代理客户端,而是在进行 http 请求调用。你为什么不使用它应该为你处理反序列化的 WCF 代理?
-
@Enes 我更新了我的问题,请查看它。
-
REST 服务不使用代理 - 这是 SOAP Web 服务的一个特性。
-
@Tim 所以我只能使用 WebRequest?
-
@NomiAli - 据我所知,它适用于 RESTful 服务,是的,或者其他一些面向 HTTP 的方法(如
HttpClient)。
标签: json wcf asp.net-mvc-4 rest