将Windows Phone 8连接到Sql server

由于我不熟悉Windows Phone 8开发,我想讨论/询问将Windows Phone 8连接到Sql-Server数据库的最佳方法是什么。 我试图通过互联网进行搜索,发现只有少数指南对我使用WebService的 Linq-to-Sql不起作用。 这是我失败的地方。

首先我想显示数据 – 这是最重要的,我还不需要编辑它们。 但将来这是不可避免的。

如果编辑工作,我需要直接在我连接的Sql Server上编辑它们。 我还检查了Sql Server Compact指南,但这只能在CE 4.0 (从Sql Server导出数据到Sql Compact)时才能使用, 它不支持Windows Phone 8 。 但即使它可以工作,它只是简单地将Sql服务器数据库复制到Sql Compact,并且不能直接在Sql Server上使用数据(这是可以理解的,因为它是Sql Server Compact)。

因此,当我深入搜索唯一的方法是使用WebService我在YouTube上按照一些分步指南进行操作但正如我之前提到的那样,问题在于显示数据,因为指南导致我使用ListBox,因为它是Windows Phone 7.1和Windows Phone 8中只有LongListSelector。

我还发现问题将Windows Phone和Windows 8应用程序连接到SQL Server ,这对我来说很安静。

我想我需要一些循序渐进的指导方法。 所以我想问你是否有如何连接WP8和Sql Server的分步指南? 如果有人会这样,并在这里编辑我的代码以使其工作。

感谢您抽出宝贵时间阅读本文和答案/评论。

女士

那么,为了实现你的目标,我会这样做:

  1. 使用ASP.NET Web API( http://www.asp.net/web-api )构建REST Web服务,该Web服务返回对象(这些对象将自动转换为json)。 例如:

    public class MyObject { public string Content { get; set; } } 

    控制器:

     public class TestController : ApiController { [HttpGet] public MyObject Example() { return new MyObject() { Content = "Hello World!" }; } } 
  2. 在win phone项目中使用HTTP客户端:

     HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://mywebservice.com"); client.DefaultRequest.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); using (var result = await client.GetStreamAsync("test/example")) { var serializer = new JsonSerializer(); // this is json.net serializer using (var streamReader = new StreamReader(result)) { using (var jsonReader = new JsonTextReader(streamReader)) { var obj = serializer.Deserialize(jsonReader); // you can access obj.Content now to get the content which was created by the webservice // in this example there will be "Hello World!" } } } 

当然,您可以创建更复杂的对象,这些对象将被(反)序列化。 只需看看Web API教程。

在您的Web服务中,您现在可以访问所需的任何数据库。

编辑如果您需要更详细的答案,请给我留言。