【问题标题】:not able to call web api service using http client deploy under virtual application on azure app service无法在 azure app 服务上的虚拟应用程序下使用 http 客户端部署调用 Web api 服务
【发布时间】:2019-03-17 18:23:28
【问题描述】:

我已经在天蓝色的“应用服务”上部署了 MVC Web 应用程序。在应用程序服务内部,我使用 azure 上的应用程序设置下的 virtual application 选项添加了 Web api 应用程序。现在我正在使用 HTTP 客户端从 MVC Web 应用程序调用此 Web api 服务,它会引发以下错误,但我可以使用浏览器调用这些 Web api 服务。

内部异常:

System.Net.Http.HttpRequestException:发送时出错 请求。 ---> System.Net.WebException:底层连接 已关闭:发送时发生意外错误。 ---> System.IO.IOException:无法从传输中读取数据 连接:已存在的连接被远程强行关闭 主持人。 ---> System.Net.Sockets.SocketException:现有连接 被远程主机强行关闭 System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult) 在 System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult) --- 内部异常堆栈跟踪结束 --- 在 System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) 在 System.Net.PooledStream.EndWrite(IAsyncResult asyncResult) 在 System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) --- 结束 内部异常堆栈跟踪 --- 在 System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) 在 System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar) --- 内部异常堆栈跟踪结束 ---

【问题讨论】:

  • 您能否详细介绍一下您的 webapi 代码以及如何调用 webapi?

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


【解决方案1】:

根据您的描述,我认为您调用webapi的代码可能有一些错误。您可以按照我的工作代码如下:

1.发布 MVC Web 应用并添加虚拟应用。

2.将 Web API 发布到虚拟路径。

3.使用HttpClient调用HomeController中的webapi

public ActionResult Index()
{
    using (var client = new HttpClient())
    {
        client.BaseAddress = new Uri("https://xxx.azurewebsites.net/joeyAPI/api/");
        //HTTP GET
        var responseTask = client.GetAsync("values");
        responseTask.Wait();
        var result = responseTask.Result;
        if (result.IsSuccessStatusCode)
        {
            var readTask = result.Content.ReadAsStringAsync();
            readTask.Wait();
            var students = readTask.Result;
            ViewBag.Message = students.ToString();
         }
    }
    return View();
}

输出:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-08
    • 2017-01-04
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2014-09-04
    相关资源
    最近更新 更多