问题标签 [mobileserviceclient]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 替换 Azure MobileService.Client.GetPush().RegisterAsync()
由于 Microsoft.Azure.MobileClient nuget 目前仅支持 .net 标准,因此我正在考虑将其从我的应用程序项目中删除。我唯一使用它的是 RegisterAsync() 调用。
我可以在后端执行此操作(使用 Azure 通知服务)吗?我有我的 Firebase 令牌和我的苹果令牌。我只需要在 Azure 通知中心注册它们。
谢谢!
c# - 如何在 xamarin Forms 中使用来自 IMobileServiceTableQuery 的 where 查询?
我尝试从电子邮件中获取对象 ID,我可以在 IMobileServiceTableQuery 中执行此操作吗,所以如果我在 sql server 中编写查询,它将是这样的
SELECT id from Member where email = 'nani@gmail.com'
,那么如何在 IMobileServiceTableQuery 中执行此操作,据我所知只有这个IMobileServiceTableQuery<T> Where(Expression<Func<T, bool>> predicate);
,但是我不知道如何实现它。
好的,我尝试使用此代码,此代码对吗?
以及如何显示我得到的 id,我可以像这样使用 txtid.Text = t.Id; ?
xamarin.forms - 创建一个新的 MobileServiceClient() 会冻结 VS 和 Android 应用程序
使用 Xamarin Forms 应用程序(Android 和 iOS)在尝试创建与 Azure 移动应用程序中的简单表的连接时,我的 Visual Studio 冻结了大约 7 秒,然后当它回来时它退出了代码和 Android应用程序,在调试中运行被永久冻结。
当单步执行代码时,它会跳过
client = new MobileServiceClient(appUrl);
,然后当它到达下一行时,它会冻结。但下一行是什么并不重要。之后我放了很多不同的东西,它仍然冻结。此外,这是在 try/catch 块中,但不会引发异常。
我还想看看问题是否出在服务器端。但是 PostMan 的 Post 和 Get 都可以正常工作。所以我认为我的服务器很好。虽然不完全确定...
这是一些代码:
InitializeAsync 已在 Async 方法中调用。它已在构造函数中使用 .Wait() 方法调用。它已通过按钮按下或在页面创建中调用。我尝试了很多不同的打电话方式。但它总是冻结。
我认为奇怪的一件事是我的服务器代码是一个包含 SignalR 集线器代码和 Easy Table 的项目,但是您通过不同的网址访问它们,例如“http://”SignalR“.azurewebsites.net /" 和 "http://"EasyTable".azurewebsites.net/" 再次,PostMan 能够访问表和 SignalR,SignalR 在 Android 项目上工作。但我不知道是否必须使用域是不好的。我是新来的……如果你还不能告诉我,大声笑!
我按照本教程进行了 Easy Table 集成,当我在一个单独的项目中进行操作时,它运行良好。我正在尝试将其集成到我的实际项目中,这就是我遇到所有这些问题的地方。
我还打开了 Azure 的调试功能,我的应用程序似乎连服务都没有。从来没有接听电话。我认为。但是我又是使用 Azure 进行调试的新手,所以我可能不知道如何正确地进行调试。我按照本教程设置 Azure 调试
感谢您的任何帮助!
azure - 如何使用 MobileServiceClient 进行基本身份验证?
我正在使用 azure mobile services sdk 进行离线同步。我制作了我的 api,以便使用电子邮件和密码通过基本身份验证对其进行保护。
如何将这些凭据嵌入到 MobileServiceClient 中,以便每当我调用一个方法时,它都具有正确的身份验证凭据。
这是我现有的 MobileServiceClient 代码。
AuthHandler 类
asp.net - ASP.NET 使用 MobileServiceClient 或 IMobileServiceTable 查询多个表
我有一个 ASP.NET 应用程序,它使用 IMobileServiceTable 和 MobileServiceClient 从 Azure 数据库中提取数据。我正在尝试使用内部/外部联接执行查询,但找不到查询我的数据库的方法。我知道我可以使用 ADO.NET 样式代码,但想探索我的其他选择(如果有的话)。应用程序中的当前实现使用 C# 和 MobileServiceClient。我正在尝试这样的事情但出现错误
错误 CS1936 找不到源类型“IMobileServiceTable”的查询模式的实现。未找到“加入”。
您的帮助将不胜感激。谢谢, 帕拉克莱特
asp.net-web-api - Azure 移动服务客户端 InvokeApiAsync 未命中 WebAPI
我似乎无法从我的 xamarin 表单移动应用程序中访问我的 web api。我可以通过 PostMan 访问 api,它工作正常。
输入文本时运行的命令
此命令调用我的ExecuteSearchCommand
方法,我的客户端在该方法中调用我的 api
我的 ItemController 看起来像这样
我在这里缺少什么吗?我尝试在本地运行时点击 web api,并将我的客户端指向 localhost 以及我托管的 web api。
*我确实为 android 项目设置了互联网权限
xamarin.forms - Azure 移动应用自定义身份验证和 MobileServiceClient
我正在为我的 azure 移动应用程序(https://www.newventuresoftware.com/blog/custom-authentication-with-azure-mobile-apps)进行自定义身份验证
我创建了AuthControll,它接受用户名和密码并创建令牌。当我调用MobileServiceClient.InvokeApiAsync("Auth", loginInfoDictionary)时,我成功收到了用户名和令牌。我使用收到的令牌创建了新的 MobileServiceUser(username)并将其设置为MobileServiceClient.CurrentUser。但是当我通过需要授权的方法调用MobileServiceClient.InvokeApi时,它告诉我我未经授权。
那我应该如何处理收到的令牌?我可以使用具有此类授权的MobileServiceClient.InvokeApiAsync和MobileServiceClient.GetTable方法吗?如果是,我错过了什么?
azure - 注册 Azure App Service 应用程序以使用 Google 登录
我正在创建一个 Xamarin.Forms 应用程序并使用 Azure 的身份验证/授权将 Facebook 和 Google 添加为身份验证提供程序。在我的代码中,我使用 MobileServiceClient 类中的 LoginAsync() 来执行 Facebook 和 Google 的登录。
我能够成功验证 Facebook 用户。但是,使用 Google 登录时,一旦代码执行 LoginAsync(),它会将用户带到 Google 的登录页面 ( https://accounts.google.com/signin/oauth/.. ) 并停在那里。页面是空白的,没有任何显示。
我尝试使用 Chrome 和我的天蓝色应用程序 url ( https://traveldiary.azurewebsites.net/.auth/login/google/callback ) 登录并显示谷歌登录,当我选择我的 gmail 帐户访问该站点时,我得到到显示消息的页面:
traveldiary.azurewebsites.net 目前无法处理此请求。HTTP 错误 500
我已按照所有步骤从 Microsoft 站点配置 Google 登录 -此处。是否有任何其他设置丢失,我必须添加以显示 Google 登录页面,然后在成功登录后重定向到我授权的重定向 URI。
感谢您的任何帮助或建议。
xamarin.forms - ZUMO Login (MobileServiceUser) 的 SID 与用户的 ObjectId 不同
我正在开发一个针对 iOS 和 Android 的基于 Xamarin.Forms 的跨平台应用程序。我的后端是作为 Azure 应用服务托管的 ASP.NET Web 应用程序,用户可以注册我使用 Azure Active Directory B2C 管理的帐户。对于身份验证,我使用 MSAL 4.0,客户端应用程序使用 MobileServiceClient 库与后端通信。
因为用户的数据是有关系的,所以我选择让控制器的 put 方法自动添加用户的 SID 并过滤该 SID 上的请求数据,因为这个标识符在通过用户 IClaimsPrincipal 授权后仍然可用。
但是,我不了解这些 SID 的来源,因为我无法在其他任何地方找到它们。
到目前为止,这是我能说的:
在 Azure ADB2C 中,我有两个注册用户。其中一个(UserA)使用 Facebook 作为 IdentityProvider,另一个(UserB)Microsoft。
UserA 在 ADB2C 上具有对象 ID FFC1***。UserB 在 ADB2C 上具有对象 ID E990***。
两者具有相同的名称,但注册的电子邮件地址不同。
这就是我实例化 MSAL 客户端的方式:
ClientId指 Azure Active Directory B2C > Applications > Application > Application Id
授权解析为类似https://application.b2clogin.com/tfp/application.onmicrosoft.com/B2C_1_SignInSignUp
B2C 上的策略配置(用户流)配置为包括以下声明:
- 给定的名称
- 身份提供者
- 用户的对象 ID
我以这种方式使用 MSAL 登录:
App.Scopes解析为
此时,我有一个 AuthenticationResult ,我可以从中提取有价值的信息,例如用户的名字或等于对象 ID 的对象 ID,我还可以在我的 Azure B2C 目录的用户管理窗格中看到:
AuthenticationResult 包含一个 IdToken 和一个 AccessToken。它们与添加包含范围的 scp 属性的 AccessToken 几乎相同。就我而言,它包含“user_impersonation”。
现在用户通过 ADB2C 进行身份验证,我需要我的应用程序也将身份验证转发给 ZUMO,即 MobileServiceClient,以便用户可以对我的后端控制器进行授权调用。
为此,我需要返回的 AccessToken(我也可以从上面的 AuthenticationResult 中提取),将其包装到 JObject 中,最后像这样将其传输到 MobileServiceClient:
现在 MobileServiceClient 有一个经过身份验证的用户,以后的每个 httprequest 都将包含控制器的 [authorize] 属性满足的相应信息。
然而。
这是它变得奇怪的时候。
当 MobileServiceClient 被实例化并使用上面的 ZumoPayload 调用其 LoginAsync 方法时,生成的 MobileServiceUser 将填充两个属性:
- MobileServiceAuthenticationToken 和
- 用户身份
有趣的是,这个令牌看起来与我在使用 MSAL 进行身份验证时收到的 IdToken 或 AccessToken 非常不同,但更让我烦恼的是,用户 ID 甚至完全不同!
包含一个子属性,其中包含类似于 UserA 的 sid:956b*** 和 UserB 的 sid:e358*** 之类的内容,这与上述对象 ID 明显不同。
谁能向我解释这些 SID 来自哪里?
c# - Azure SQL C# 后端查询浮点导致“内部服务器错误”
我为你们准备了一个漂亮的集市,我只是想不通,甚至无法理解。我过去创建了一些 Azure 数据库,我相信这是我使用 .NET 后端的第二个数据库。除了浮点变量外,我似乎所有东西都正确拉/插入。
精简类客户端:
精简类后端:
在服务器端,Price 列(和该类的其他浮点数)设置为数据类型“float”,允许使用空值。
我正在使用同步表,因此运行此行会显示错误:
我也试过这个:
当我在客户端和后端注释掉浮点变量时,一切正常。我在这个上花了很多时间,但似乎无法弄清楚。任何想法将不胜感激!谢谢!