【问题标题】:WebAPI methods not being recognized by the site hosted in AzureAzure 中托管的站点无法识别 WebAPI 方法
【发布时间】:2017-09-20 23:22:06
【问题描述】:

我正在与我们的报告供应商集成单点登录,该供应商通过从其 API 调用 Web api 方法来验证令牌。当我在本地机器上使用本地托管的 API 进行测试时,我可以使用这个 web api 方法,用户使用有效的令牌进行验证,并且 SSO 工作顺利。当我将此更改发布到 Azure 时,不会调用此验证方法,因此 SSO 不起作用。我缺少什么或者我需要在 Azure 的应用服务中做些什么来确保调用这个 Web api。在 Azure 中发布时,它看起来肯定会被跳过,因为它在我的本地计算机上运行良好。

[RoutePrefix("api/reporting")]
public class ReportingAPIController : ApiController
{
    [HttpGet]
    [Route("validateVendorAuthToken")]
    public UserInfo ValidateVendorAuthToken(string access_token)
    {
        var userInfo = Infrastructure.ReportingVendor.TokenAuthorization.GetUserInfo(access_token);
        return userInfo;
    }
 }
public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // TODO: Add any additional configuration code.

        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "ActionApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

然后在我的 global.asax 中,

GlobalConfiguration.Configure(WebApiConfig.Register);

为了调用 ValidateVendorAuthToken,我们提供供应商 API SQL 数据库中的字段值来匹配此路由,例如 http://mysite.azurewebsites.net/api/reporting/validateVendorAuthToken,然后生成令牌。

为了在我的本地机器上进行测试,我将此值更改为 http://localhost:69808/api/reporting/validateVendorAuthToken

由于这在本地有效,我得出的结论是,当站点托管在 Azure 中时,永远不会调用此 Web api 方法。我需要在 Azure 中做些什么,还是我的应用程序中缺少某些东西?

任何帮助或指导将不胜感激。

【问题讨论】:

    标签: c# asp.net-mvc azure asp.net-web-api


    【解决方案1】:

    这是一个长镜头,但您的任何字段值是否包含日期?我有一个问题,在我的本地机器上进行测试很好,但是一旦我部署到 azure,它就崩溃了,结果我的英国格式日期被解释为大于 12 个月,并且在没有太多线索的情况下被轰炸。抱歉浪费了您的时间!

    【讨论】:

    • 嗨阿德南,欢迎来到 SO!由于这是当前的格式,因此这不是答案。一旦你有足够的声望,你就可以离开cmets。同时,请不要使用 answers 进行澄清。
    • @Adnan:他们都没有。
    猜你喜欢
    • 1970-01-01
    • 2015-02-09
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 2021-04-19
    • 1970-01-01
    • 2014-08-21
    • 2013-06-13
    相关资源
    最近更新 更多