如何使用ASP.Net MVC3设置简单的Web服务?

时间:2011-01-23 23:08:04

标签: c# asp.net-mvc web-services asp.net-mvc-3

我创建了一个基于客户端的winforms应用程序,它解析文件并创建游戏对象。

计划是让客户端将 Game 对象发送到期望该对象类型的Web服务。然后在服务器端,我将使用Entity-Framework 4来保存该信息。

基本上,游戏对象只是一个POCO / Model类。

我如何在服务器端进行设置,以便我的应用程序公开服务,并期望该类型的对象。

谢谢。

* *剪断 抓一点,这不是我需要的。

1 个答案:

答案 0 :(得分:2)

您可以利用MVC的ModelBinder功能从表单或查询数据中自动组合输入模型,例如:

public ActionResult Save(Game game)
{
    int id = game.Id;
    // Do work
    ...

然后在您的客户端:

var request = (HttpWebRequest)WebRequest.Create("http://localhost/Game/Save");
string data = string.Format("Id={0}&Name={1}", HttpUtility.UrlEncode(game.Id), HttpUtility.UrlEncode(game.Name));
request.Method = "POST";
request.ContentLength = data.Length;
request.contentType= "application/x-www-form-urlencoded";

using (var writer = new StreamWriter(request.GetRequestStream()))
{
  writer.Write(data);
}

// Post the data.
var response = (HttpWebResponse)request.GetResponse();

这都是矫枉过正,有些技术已经存在,如WCF服务等,它们将为您处理代理生成和通信。你考虑过了吗?