将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的分步指南? 如果有人会这样,并在这里编辑我的代码以使其工作。
感谢您抽出宝贵时间阅读本文和答案/评论。
女士
那么,为了实现你的目标,我会这样做:
-
使用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!" }; } }
-
在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服务中,您现在可以访问所需的任何数据库。
编辑如果您需要更详细的答案,请给我留言。