代码之家  ›  专栏  ›  技术社区  ›  Jonathan Park

Windows azure development fabric负载平衡器在DotNetOpenAuth重定向操作mvc 2上崩溃

  •  3
  • Jonathan Park  · 技术社区  · 14 年前

    我把这个错误归结为DotNetOpenAuth的重定向操作调用( http://www.dotnetopenauth.net/

    基本上我已经在这里实现了这个示例

    http://www.dotnetopenauth.net/developers/code-snippets/programmatic-openid-relying-party/

    return request.RedirectingResponse.AsActionResult();
    

    此时,它完成此操作,然后azure dev fabric负载平衡器崩溃。

    @dthorpe指出,我应该告诉您我通过部署到生产环境来测试的所有内容,这看起来确实有效。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Michael Gorsuch    14 年前

    我有办法。这是一个轻微的黑客,但它确实有效,你不必伪造任何东西。

    更改此项:

    return request.RedirectingResponse.AsActionResult();
    

    对此:

    string location = request.RedirectingResponse.Headers["Location"];
    return Redirect(location);
    

    为什么? 情况就是这样。

        2
  •  3
  •   Community rohancragg    7 年前

    We had same problem . 目前还没有我所知的修复程序,应用程序在部署到云中时仍然可以正常工作。

        3
  •  0
  •   joshuahealy    12 年前

    如果有人想快速解决这个问题,一个选择是关闭Azure诊断,如果你碰巧没有使用它。当您创建项目时,这会添加到web.config中,只需注释掉“add”元素即可完成。

    <system.diagnostics>
      <trace>
        <listeners>
          <!--<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
            <filter type="" />
          </add>-->
        </listeners>
    </trace>
    

    当然,这会关闭诊断,所以只有在您不使用诊断的情况下才这样做!