当前位置: 首页 > 知识库问答 >
问题:

Azure MobileApp:InvokeApAsync因InvalidOperationException失败

拓拔野
2023-03-14

我正在试用 Azure 移动应用和最近发布的 SDK https://azure.microsoft.com/en-us/blog/azure-mobile-apps-november-2015-update/

我创建了该服务,并且入门Todo应用程序工作正常。然后我添加了脸书身份验证,这也有效。我还想从服务中获取一些额外的FB信息,因此基于github上的解决方案和示例应用程序,我添加了一个新的api

https://github.com/Azure/azure-mobile-apps-net-server/blob/2d2901ed5207f0ba6698660eb4ee568a63f18581/samples/SampleApp/Controllers/SecuredController.cs

服务器端代码

html" target="_blank">public class AuthenticationController : ApiController
{
    [Authorize]
    public async Task<JObject> GetIdentity()
    {
        FacebookCredentials fb = await this.User.GetAppServiceIdentityAsync<FacebookCredentials>(this.Request);
        var result = new JObject();
        if (fb != null)
        {
            var accessToken = fb.AccessToken;
            result.Add("facebook", await GetProviderInfo("https://graph.facebook.com/me?access_token=" + accessToken));
        }

        return result;
    }

    private async Task<JToken> GetProviderInfo(string url)
    {
        var c = new HttpClient();
        var resp = await c.GetAsync(url);
        resp.EnsureSuccessStatusCode();
        return JToken.Parse(await resp.Content.ReadAsStringAsync());
    }

}

Android项目中的客户端代码

var user = await TodoItemManager.Instance.ClientInstance.LoginAsync(Forms.Context, MobileServiceAuthenticationProvider.Facebook);
var info = await TodoItemManager.Instance.ClientInstance.InvokeApiAsync("GetIdentity", null, HttpMethod.Get, null);

LoginAsync成功,我获得了用户ID和令牌,但InvokeApAsync失败,出现以下异常

Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException: The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
  at Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient+<ThrowInvalidResponse>d__18.MoveNext () [0x0022f] in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
11-26 19:09:10.897 I/mono-stdout( 3514):   at Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient+<ThrowInvalidResponse>d__18.MoveNext () [0x0022f] in <filename unknown>:0 
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/2098/3efa14c4/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/2098/3efa14c4/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:201 
11-26 19:09:10.898 I/mono-stdout( 3514): --- End of stack trace from previous location where exception was thrown ---
11-26 19:09:10.898 I/mono-stdout( 3514):   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/2098/3efa14c4/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/2098/3efa14c4/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:170 
11-26 19:09:10.899 I/mono-stdout( 3514):   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00047] in /Users/builder/data/lanes/2098/3efa14c4/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:201 
11-26 19:09:10.900 I/mono-stdout( 3514):   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in /Users/builder/data/lanes/2098/3efa14c4/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:170 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in /Users/builder/data/lanes/2098/3efa14c4/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:142 
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in /Users/builder/data/lanes/2098/3efa14c4/source/mono/external/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:124 
  at Microsoft.WindowsAzure.MobileServices.MobileServiceHttpClient+<SendRequestAsync>d__1d.MoveNext () [0x0010d] in <filename unknown>:0 

我错过了什么或做错了什么?提前谢谢。。

共有1个答案

卜勇
2023-03-14

在我的项目中,使用新的Azure App Service示例项目时,我也出现了类似的错误。我只是尝试使用我自己的模型类从Azure db中检索数据,而不是像你一样进行身份验证。

错误如下:

Microsoft.WindowsAzure.MobileServices.MobileServiceInvalidOperationException:您要查找的资源已被删除、名称已更改或暂时不可用。

事实证明,在我的移动服务器项目中,我有一个定义为CorporateEvent的模型,而在我的客户端项目中,有一个相同的定义为corporationeEventModel模型。一旦我将客户端项目中的模型重命名为CorporateEvent,错误就消失了,我可以访问数据库。

希望这有帮助。

 类似资料:
  • 我正在处理一些奇怪的错误信息,我认为这可以归结为内存问题,但我很难确定它,可以从专家那里得到一些指导。 我有一个两台机器的Spark(1.0.1)集群。两台机器都有8个核心;一台有16GB内存,另一台有32GB内存(这是主)。我的应用程序涉及计算图像中的成对像素亲和力,尽管我测试的图像到目前为止只有1920x1200大,16x16小。 我确实必须改变一些内存和并行性设置,否则我会得到显式的OutO

  • 问题内容: 由于当前在Spring中对Hibernate 4的支持不足,我不得不将Hibernate从版本4降级到版本3(具体来说是3.3.2GA),现在该项目在尝试使用hbm2ddl生成架构时无法构建。这个错误太模糊了,谷歌并没有带来太多收益。 这是我的pom.xml: 跑步 失败于 完整的堆栈跟踪为: 希望有人可以对此有所启发! 问题答案: 在尝试使havennate模型使maven引导数据库

  • 问题内容: 每当我尝试使用Jenkins进行构建时,都会出现以下错误 无法应用插件[id’io.fabric’]无法创建类型为’CrashlyticsPlugin’的插件。 从Gradle中删除Crashlytics可以解决此问题 问题答案: 所以我想我通过结合使用这个答案这些是您需要遵循的最终命令: 这是这种情况的相关调试日志: 和@TarahWheelerVanVlack答案来解决它,我不得不

  • 我使用的是Cassnadra 2.1.13单节点集群和数据库运行良好,没有任何问题。 在单个节点集群中,出现这些异常的原因是什么,特别是同步失败,有什么提示或指针可以找到这个问题的根本原因吗? 错误[MemtableFlushWriter:21]StorageService.java:453-停止gossiper警告[MemtableFlushWriter:21]StorageService.ja

  • 我们正在使用Powermockito和Mockito来模拟一些静态类。似乎每次都会抛出。 你能帮我找出问题出在哪里吗? 测试中的Java类 使用Powermock runner进行Junit测试 进程已完成,退出代码为255 注: 实际底层elasticsearch类的源代码可以在这里找到 https://github.com/elastic/elasticsearch/blob/master/c

  • 我们有一个NetCore2.1API项目。我们使用请求头来检索API密钥,并根据数据库检查该密钥是否与期望的密钥之一匹配。如果确实如此,那么我们允许请求继续,否则我们希望发回未经授权的响应。 我们的startup.cs 我们的APIKeyAuthHandler.cs 还有我们的controller.cs 当有效密钥存在时,一切正常,但当它不存在时,将引发500个内部错误,原因是No authent