创建Restful Service - 无法检索使用HttpClient发布的数据

时间:2011-09-21 03:28:05

标签: .net wcf rest httpclient

我在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>>();               
             };
         }

1 个答案:

答案 0 :(得分:0)

我能够通过将服务作为单例或将InstanceContextMode设置为Single来检索列表。