【问题标题】:Azure C# Mobile Services Status RouteAzure C# 移动服务状态路由
【发布时间】:2014-09-25 17:57:19
【问题描述】:

我遇到了一些干扰我预期路由的默认路由的问题,因此在我的 WebApiConfig/Register() 中,我清除了 config.Routes 并创建了自己的路由。这适用于我所有的 api 调用,但它破坏了 Azure 的状态检查。

我该怎么做

  1. 在不清除 Azure 添加的路由的情况下清除路由
  2. 重新添加状态路由。

我想念笑脸网站!

【问题讨论】:

    标签: c# azure asp.net-web-api asp.net-web-api2 azure-mobile-services


    【解决方案1】:

    你看到了什么冲突?

    您是对的,我们确实使用 /status 和 /diagnostics 端点来监控和报告它们是否不存在(事实上我们确实将它们添加回来,所以严格来说我认为您可以忽略皱眉

    亨里克

    【讨论】:

      【解决方案2】:

      您如何可以做到这一点:保存您要维护的路线,清除路线,然后将它们添加回来。或者只是删除您要删除的那些。当服务在 Azure 中运行时,您可以使用调试器(参见下面的示例)或使用一些快速反射轻松找到路由名称。

      为什么您可能不应该删除它们:移动服务平台在 Azure 中不断更新,在此之前执行一系列测试以确保它不会破坏大多数的场景。我不确定 100%,但我敢打赌,删除平台添加的路线不是其中之一,因此如果添加了依赖于其中之一的其他组件,您可能会发现您的服务中断了您删除的路线仍然存在。

      因此,正如@HenrikFrystykNielsen 在他的回答中提到的那样,请尝试找出您遇到的冲突类型,以及是否可以通过不会削弱服务的方式解决它们。

      【讨论】:

      • 嗨@carlosfigueira(和Henrik)!我同意 - 我想删除默认的 WebAPI 路由并保留 Azure 路由。根据设计,我的 Web 服务看起来不像典型的 WebAPI 调用。我想删除所有“按约定”路由,只使用我自己的自定义路由。 Henrik 问发生了什么事,我觉得需要调用 Clear() - 我得到“找到与请求匹配的多个操作”......在我的大多数服务调用中,但没有基于“约定”的路由,一切正常。
      • 好的,所以我认为我现在拥有的更好。你看到有什么问题吗: config.Routes.Remove("MS_attributerouteWebApi"); config.Routes.Remove("DefaultApis"); config.Routes.MapHttpRoute("DefaultApiWithAction", "Api/{controller}/{action}");
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-03
      • 2016-07-07
      • 1970-01-01
      相关资源
      最近更新 更多