【问题标题】:DelegatingHandler works on Localhost but not on AzureDelegatingHandler 适用于 Localhost 但不适用于 Azure
【发布时间】:2015-01-14 10:03:41
【问题描述】:

我有以下代码在转发到我的localhost:1671 时可以正常工作:

protected override async System.Threading.Tasks.Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, System.Threading.CancellationToken cancellationToken)
{
    UriBuilder forwardUri = new UriBuilder(request.RequestUri);
    //remove the proxy port and replace with an Http port
    forwardUri.Port = 1671;
    //send it on to the requested URL
    request.RequestUri = forwardUri.Uri;
    HttpClient client = new HttpClient();
    if (request.Method == HttpMethod.Get)
        request.Content = null;
    try
    {

        var response = await client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);
        if (response.StatusCode == HttpStatusCode.OK)
        {
            ManageOnline(response.RequestMessage);
        }
        return response;
    }
    catch (Exception ex)
    {
        throw;
    }
}

但是,当我将其更改为我在 azure 上的网站(例如 xxxx.azurewebsites.net)时,它不起作用。

知道我是否需要对 Azure 进行不同的配置?我假设 Azure 上的端口是 80。

【问题讨论】:

  • 你能说得更具体一点,“它不起作用”是什么意思?不启动,不响应请求,异常,....?
  • 我得到一个 404 Site Not found.

标签: c# azure asp.net-web-api azure-web-app-service delegatinghandler


【解决方案1】:

我假设你在这里学习本教程:http://blog.kloud.com.au/2013/11/24/do-it-yourself-web-api-proxy/

检查您的 web/app.config

上是否有以下条目
<system.net>
    <defaultProxy enabled="false" />
</system.net>

删除&lt;defaultProxy enabled="false" /&gt;

【讨论】:

    猜你喜欢
    • 2018-03-14
    • 2020-05-13
    • 2012-08-01
    • 1970-01-01
    • 2018-08-22
    • 2016-10-10
    • 2013-07-13
    • 2014-02-26
    • 2013-03-26
    相关资源
    最近更新 更多