2013-08-30 43 views
0

我有非常简单的MVC模型,其中有两个非常简单的Model类Person和Company。如何在MVC模型中使用Webservice

我必须cousume一个Web服务来获取有关人员和公司的数据。

您可以请张贴一些示例linke,其中web服务消耗GET或/和POST。

这是我的控制器索引方法。

public ActionResult Index(string id)
{
Webservice webservice = new Webservice();
}

[HttpPost]
public ActionResult Index(string id)
{
Webservice webservice = new Webservice();
}

我不知道是否写入上面的代码中GET或POST。

回答

5

我个人使用它在模型中。比如我有一个OData服务,我把它称为我的模型中:

public class Person 
{ 
    public string Name {get;set;} 
    public Person(int Id) 
    { 
     var oDataService = new ODataService(new Uri("YourURL")); 
     Name = oDataService.Persons.Where(x=>x.Id == Id).Select(x=>x.Name); 
    } 
} 

然后在控制器:

public ActionResult Index(int Id) 
{ 
    return View(new Person(Id)); 
} 
+0

如果我们想要在服务层下的单独类中管理第三方Web服务,该怎么办?然后在一个普通的类中使用'Person'和'service'的实例来执行CRUD?这听起来好吗?还是我在错误的树上吠叫? (管理一个单独的服务类的主要原因是,将有不同的第三方服务基于选择者的选择) – bonCodigo

1

型号是您的数据。控制器将管理它。这意味着您应该编写逻辑在控制器中加载数据并将其转换为模型的对象。

+0

感谢您的答复。可以给我发送xamle如何放置在控制器中并转换为模型的对象。 。 – Rupesh

+0

jyparask在另一篇文章中为您提供了一个示例。它会起作用,但如果你想用单元测试覆盖转换,你需要做一些改变。此ODataService具有一个接口,您需要将该服务接口作为参数传递给Person。在单元测试中,您将能够通过控制器中的伪造服务 - 真正的服务 –

相关问题