用于Windows Phone的mongoDb驱动程序

时间:2014-01-24 13:08:11

标签: mongodb windows-phone-8 mongodb-.net-driver

是否可以从Windows Phone 8应用程序访问MongoDB数据库服务器?

是否可以使用Native App,使用c#作为编程语言?

如果这是一个愚蠢的问题,请原谅。我是MongoDB的新手。

我希望通过手机执行CRUD操作。

官方C#驱动程序的目标是.Net Framework v3.5 我无法使用nugget在Windows phone项目上安装它。

错误 -

Install failed. Rolling back...
Install-Package : Could not install package 'mongocsharpdriver 1.8.3'. You are trying to install this package into a project that targets 
'WindowsPhone,Version=v8.0', but the package does not contain any assembly references or content files that are compatible with that 
framework. For more information, contact the package author.
At line:1 char:1
+ Install-Package mongocsharpdriver
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

3 个答案:

答案 0 :(得分:3)

司机因多种原因无法工作。

最大的是当前的.NET驱动程序/源需要同步通信支持。 Windows Phone .NET库仅支持异步通信。因此,任何同步的东西都需要改变。

当前代码中有一行代码:

tcpClient.Connect(ipEndPoint);

最低限度,需要使用async关键字将其更改为await方法:

await tcpClient.ConnectAsync(ipEndPoint);

但是,它并不那么简单,因为ConnectAsync不支持使用async关键字,因为它不使用Task。相反,它具有不同的连接语法,其中方法需要一个对象,该对象具有在建立连接时调用的事件。而且,这只是一个例子。

我建议您使用Web服务器或服务来代理数据库通信,而不是直接连接到MongoDB。在那里,您可以使用REST API,并使用ASP.NET托管应用程序中的C#驱动程序(例如,使用ASP.NET Web API)。

答案 1 :(得分:1)

我建议您使用Sleepy Mongoose 这是HTTP的完整MongoDB界面。因此,您不需要任何驱动程序,只需执行一些HTTP请求即可从您的移动应用程序应用CRUD操作。

答案 2 :(得分:0)

npm module - express-restify-mongoose 对于使用 node.js 服务器的用户来说是个不错的选择。该库提供带有REST接口的 mongoose数据库模型