我在VS 2010中创建了Restful服务。我有一个类顾问。 SubmitAdvisor方法将此类作为参数,ListAdvisors返回Advisor列表。
我为Get和Post这些方法编写了一个控制台客户端。我在我的客户端中包含了Microsoft.Http。
即使在使用HttpClient发布数据后,我也无法看到顾问列表。
内部服务界面 -
[WebInvoke(Method="POST",UriTemplate="/")]
[OperationContract]
void SubmitAdvisor(Advisor advisor);
[WebGet(UriTemplate = "/")]
[OperationContract]
List<Advisor> ListAdvisors();
内部服务实施 -
List<Advisor> advisors = new List<Advisor>();
public void SubmitAdvisor(Advisor advisor)
{
advisors.Add(advisor);
}
public List<Advisor> ListAdvisors()
{
return advisors;
}
在我的客户端应用中
public static void InsertData(Advisor obj)
{
using (HttpResponseMessage response = new HttpClient().Post(uri,HttpContentExtensions.CreateDataContract(obj)))
{
};
}
public static List<Advisor> GetAllAdvisors()
{
using (HttpResponseMessage response = new HttpClient().Get(uri))
{
return response.Content.ReadAsDataContract<List<Advisor>>();
};
}
答案 0 :(得分:0)
我能够通过将服务作为单例或将InstanceContextMode设置为Single来检索列表。