【问题标题】:Not able to publish Azure Mobile App properly无法正确发布 Azure 移动应用
【发布时间】:2016-03-22 20:25:59
【问题描述】:

我已经实现了 Azure 移动应用和 Xamarin.Forms 客户端应用程序。我希望用户从电话使用 facebook 登录,并且还想获取用户的个人资料数据。为此,我在 Azure 移动应用程序的 API 控制器中实现了额外的调用/方法。我已按照您的文章执行步骤并放置代码,但是当我在本地主机上运行移动应用程序或尝试发布时以某种方式收到以下错误消息

找到了与名为“Home”的控制器匹配的多种类型。如果服务此请求 ('') 的路由发现多个控制器定义为相同名称但不同的命名空间,则可能会发生这种情况,这是不受支持的。 'Home' 的请求找到了以下匹配的控制器:

Microsoft.Azure.Mobile.Server.Controllers.HomeController Microsoft.WindowsAzure.Mobile.Service.Controllers.HomeController

我知道这是相关的配置设置。我有以下代码

    HttpConfiguration config = new HttpConfiguration();

    new MobileAppConfiguration()
                .UseDefaultConfiguration()
                .ApplyTo(config);

    app.UseWebApi(config);
    app.UseAppServiceAuthentication(new AppServiceAuthenticationOptions
    {
        SigningKey = ConfigurationManager.AppSettings["SigningKey"],
        ValidAudiences = new[] { ConfigurationManager.AppSettings["ValidAudience"] },
        ValidIssuers = new[] { ConfigurationManager.AppSettings["ValidIssuer"] },
        TokenHandler = config.GetAppServiceTokenHandler()
    });

如果我从上面删除默认配置,那么异常消息就会消失,但在这种情况下,我看不到应用程序被正确托管,即它在浏览器中显示空白页面,而不是在应用程序正确托管后显示的就绪页面。

【问题讨论】:

    标签: azure xamarin.forms azure-mobile-services azure-api-apps


    【解决方案1】:

    您执行了哪些步骤,能否显示链接? 该异常与路由相关并且非常常见,并且可以修复 - 例如,通过使用区域。有很多手册可用,例如,这里 - http://blog.falafel.com/duplicate-controller-names-aspnet-mvc-areas/

    【讨论】:

      【解决方案2】:

      您添加了两个不同的 SDK - 一个用于 Azure 移动服务 v1,另一个用于 Azure 应用服务移动应用(可以视为 v2)。您需要删除对旧版本的引用。

      为您正在使用的服务使用适当的 SDK,并删除另一个。

      【讨论】:

      • 明白你想说什么。如果我不使用 WindowAzure.MobileServices.Backend.?引用则不会出现此问题。但是,如果我不添加它们,我将无法获得“ServiceUser”,如果没有“ServiceUser”,我将无法找到获取 FB/Google 的个人资料数据的方法。我想实现 FB/Google 登录并获取个人资料数据。我登录了用户的令牌(我猜它是 Azure AD 令牌),但无法使用该令牌获取 FB/google 的配置文件数据。因此,如果在考虑到上述要求的情况下提供任何帮助,请 hv 将用户转换为 ServiceUser 并调用“GetIdentitiesAsyn”
      • 请检查我正在尝试检索用户配置文件数据的链接stackoverflow.com/questions/32390377/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 2015-06-10
      • 1970-01-01
      • 2022-12-10
      相关资源
      最近更新 更多