.. NET Core API在Azure上部署后不起作用

问题描述 投票:1回答:1

我有一个简单的.net核心网络api,在客户端具有angular应用程序。

当我在本地调用我的api(http://localhost:5000/api/auth/register)时,它没有任何问题。将应用程序部署到azure并调用它(https://myapp.azurewebsites.net/api/auth/register)之后,我收到一个400 Bad Request错误,没有任何消息。

我试图在azure门户上配置应用程序服务和sql服务器,但是我不确定要更改什么。

AuthController.cs

        [HttpPost("register")]
        public async Task<IActionResult> Register(UserToRegisterDto userToRegister)
        {
            if (await AuthService.UserExists(userToRegister.UserName))
            {
                return BadRequest("Username already exists");
            }

            var userToCreate = new User() { UserName = userToRegister.UserName };

            await AuthService.Register(userToCreate, userToRegister.Password);

            // TODO: Change to return CreatedAtRoute
            return StatusCode(201);
        }

AuthService.cs

        public async Task<User> Register(User user, string password)
        {
            GenerateHashedPassword(user, password);

            await usersRepository.Create(user);

            return user;
        }

auth.service.ts

  private baseUrl = environment.apiUrl + 'auth/';

  public register(userToRegister: UserToRegister) {
    return this.http.post(this.baseUrl + 'register', userToRegister);
  }

environment.ts

export const environment = {
  production: false,
  apiUrl: 'http://localhost:5000/api/'
};

environment.prod.ts

export const environment = {
  production: true,
  apiUrl: 'api/'
};
c# angular typescript azure asp.net-core
1个回答
0
投票

首先检查您的Azure Web应用程序中的日志,然后在访问Web应用程序时会有日志

在您的azure Web应用程序中第二次检查异常捕获,将通过状态代码和详细信息捕获任何发生的异常

最后尝试像这样更改您的api网址。但我不认为错误来自此设置

export const environment = {
  production: true,
  apiUrl: 'https://myapp.azurewebsites.net/api/'
};
© www.soinside.com 2019 - 2024. All rights reserved.