Azure移动应用程序-快速启动问题

Azure移动应用程序-快速启动问题,azure,mobile,azure-mobile-services,Azure,Mobile,Azure Mobile Services,我已经从azure mobile app下载了Xamarin.Forms QuickStart项目(服务器和客户端),然后发布了服务器项目,到目前为止还不错,但我无法访问表控制器,除非我按照说明添加查询字符串 或者如果我在门户中将ms_skipversioncheck添加为true 可能与服务器或客户端版本不一致有关 即使我更新了所有nuget软件包,同样的事情,也只是接收BadRequest(400) 但对于上面描述的这个服务器,当我运行客户端项目(VisualStudio中的android

我已经从azure mobile app下载了Xamarin.Forms QuickStart项目(服务器和客户端),然后发布了服务器项目,到目前为止还不错,但我无法访问表控制器,除非我按照说明添加查询字符串

或者如果我在门户中将ms_skipversioncheck添加为true

可能与服务器或客户端版本不一致有关

即使我更新了所有nuget软件包,同样的事情,也只是接收BadRequest(400)

但对于上面描述的这个服务器,当我运行客户端项目(VisualStudio中的android模拟器)时,它在不同步模式下工作良好

下载nuget sqlite localstore并取消对该行的注释后:

//#定义脱机\u同步\u已启用

然后写下这句话: 等待刷新项(true,syncItems:true)

为了启用离线模式,我再次只收到BADDREQUEST(400)

我不知道应该检查什么才能使版本兼容

我没有包括堆栈跟踪或日志,因为我只收到了BadRequest

如果你需要进一步的信息,请告诉我

谢谢

编辑: 我检查了这个链接,但我无法解决我的问题


在400错误请求响应的主体中,通常包含一条错误消息。 您可以使用Fiddler()或其他web调试器查看此内容

例如:

请求 得到

回应 HTTP/1.1400错误请求 {“message”:“请求中未指定API版本,此请求需要指定“2.0.0”的ZUMO-API-version。有关详细信息和支持的客户端,请参阅:”}

请求

回应 200 {数据…}

这是调试的第一步

第二步是检查

a) 部署到站点的服务器项目的packages.config。 你应该找到像这样的东西

<package id="Microsoft.Azure.Mobile.Server" version="1.0.119.0" targetFramework="net45" />

b) Xamarin表单项目的packages.config

<package id="Microsoft.Azure.Mobile.Client" version="2.0.1" targetFramework="win81" />

如果您的Microsoft.Azure.Mobile.Client版本低于2.0.0,则它将不适用于Azure Mobile App后端,因为zumo api版本未包含在旧客户端的标题中


希望这能有所帮助。

我遵循了TodoItemManager.cs文件顶部的说明

//要添加脱机同步支持,请添加NuGet软件包WindowsAzure.MobileServices.SQLiteStore //添加到解决方案中的所有项目,并取消对符号定义的注释脱机\u同步\u已启用 //对于Xamarin.iOS,还要编辑AppDelegate.cs并取消对SQLitePCL.CurrentPlatform.Init()调用的注释 //有关详细信息,请参阅:

正确的nuget软件包是Microsoft.Azure.Mobile.Client.SQLiteStore,脱机模式正在运行


Att

谢谢Aziel,quickstart Project的版本与您提到的版本匹配,并且该项目在未启用脱机模式的情况下运行正常,一旦我添加WindowsAzure.MobileServices.SQLiteStore nuget包(无代码更改),该项目将不再工作,并开始接收错误请求。@gilberto,您是否尝试过运行Fiddler来查看请求进入您的服务时的外观?或者,您可以向客户端添加日志处理程序(请参阅),并检查调试输出。如果它在脱机模式下的行为不同,这意味着请求在某种程度上不同。如果说得太早,初始刷新在启用脱机模式时工作,但在插入脱机后(工作正常),但在按下插入时不工作。尝试推送数据时,请遵循客户端中的异常:{“message”:“请求无效”,“modelState”:{“item.\uu version”:[“发生错误。”]}},这是服务器流日志:错误操作=JsonMediaTypeFormatter.ReadFromStreamAsync,Exception=Newtonsoft.Json.JsonSerializationException:在类型为“TodoItem”的对象上找不到成员“\uu version”。路径“版本”,第1行,位置87。又结巴了。