【发布时间】:2021-05-07 01:55:26
【问题描述】:
所以我正在开发一个包含多个容器的应用程序。我有一个 mvc 应用程序,我将在其中将信息放入视图并将其发送到 api 端点,该端点将其插入数据库。
但是,当我将信息发布到 apiendpoint 时,我被卡住了。 首先我得到了连接被拒绝,我设法通过注释掉 usehttpsredirection 来解决这个问题,其次我使用了我的 api 名称而不是 ip 地址
[ValidateAntiForgeryToken]
public async Task<IActionResult> Save(HeaderViewModel header)
{
var model = new HeaderInfo
{
Id = Guid.NewGuid(),
Name = header.Name,
Value = header.Value,
LastUpdated = DateTime.Now
};
try
{
//send to api endpoint
var client = new HttpClient();
var message = new HttpRequestMessage();
message.Content = JsonContent.Create(model, typeof(HeaderInfo));
message.RequestUri = new Uri("http://headerinfoapi/api/header/create");
message.Method = HttpMethod.Post;
var response = await client.SendAsync(message);
}
catch (Exception ex)
{
}
return View(header);
}
此代码来自我的按钮保存/提交并将其发送到 api 端点。
[Route("api/[controller]")]
[ApiController]
public class HeaderController : ControllerBase
{
private readonly IUnitOfWork _unitOfWork;
public HeaderController(IUnitOfWork unitOfWork)
{
_unitOfWork = unitOfWork;
}
[Route("/create")]
public void Create(HeaderInfo header)
{
_unitOfWork.HeaderRepository.Add(header);
_unitOfWork.Save();
}
那么它应该去这里。但是我得到的资源暂时不可用并且 statuscode = null
我的 docker 撰写文件:
version: '3.4'
服务: D b: 图片:“mcr.microsoft.com/mssql/server:2019-latest” 主机名:'SqlServer' 容器名称:MSSQLServer 端口: - “1433:1433” 环境: SA_PASSWORD:${Api_SA_PASSWORD} ACCEPT_EULA:“是”
投资组合前端: 图片:${DOCKER_REGISTRY-}portfoliofrontend 建造: 语境: 。 dockerfile: 组合前端/Dockerfile
api端点: 图片:${DOCKER_REGISTRY-}apiendpoint 端口: - “5100:443” 建造: 语境: 。 dockerfile: HeaderInfoApi/Dockerfile
cmsapp: 图片:${DOCKER_REGISTRY-}cmsapp 建造: 语境: 。 dockerfile: CMSApp/Dockerfile
【问题讨论】:
标签: asp.net-core docker-compose