Удаленная проверка с другим проектом .NET Core - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть два проекта ASP.NET CORE в одном решении, один проект имеет контроллеры для моего API, а другой - модели. Я хочу использовать удаленную проверку на поле в одной из моделей запросов. У меня проблемы с получением правильного areaName, чтобы он указывал на контроллеры в правильном проекте.

Вот моя модель:

public class PostRequestModel
{
    [Remote("DoesAccountNumberExist", "Validation", "Base.API", HttpMethod = "POST", ErrorMessage = "Account number does not exist")]
    [Range(1, 999999, ErrorMessage = "Account number cannot be greater than 6 digits")]
    public int AccountNumber { get; set; }

    [EmailAddress]
    public string Email { get; set; }
}

Это в проекте Base.Domain. Удаленная проверка должна вызывать этот контроллер в проекте Base.API:

[Route("api/[controller]")]
[ApiController]
public class ValidationController : Controller
{
    private readonly IValidationHandler validationHandler;

    public ValidationController(IValidationHandler validationHandler)
    {
        this.validationHandler = validationHandler;
    }

    [HttpPost]
    public JsonResult DoesAccountNumberExist(int AccountNumber)
    {
        var accountNumberResult = validationHandler.DoesAccountExist(AccountNumber);
        return Json(accountNumberResult);
    }
}

Контроллер работает, если вызывается напрямую, но удаленная проверка не может его найти.

Я видел предложение использовать System.Web.Mvc.AreaReference.UseRoot в качестве areaName, но это было для ASP.NET, и я не могу найти эквивалент для ASP.NET Core.

...