在 Web API 应用程序中找不到 JSON 类型 asp.net

本文关键字:JSON 类型 asp net 找不到 Web API 应用程序 | 更新日期: 2023-09-27 18:36:42

我的 asp.net web api 应用程序中有这个控制器:

using AutoMapper;
using Microsoft.AspNet.Identity.EntityFramework;
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.Owin;  
using Microsoft.Owin.Security;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web;
using System.Web.WebPages.Html;
using System.Threading.Tasks;
using System.Diagnostics;
using System.Text.RegularExpressions;
using System.Net.Mail;

namespace AjTransport.webApi.Controllers 
{
    public class AccountManageController : ApiController
    {
        [AllowAnonymous]
        public System.Web.Mvc.JsonResult FindUser(string str)
        {
            var result = UserManager.FindByName(str) ??   UserManager.FindByEmail(str);
             return Json(result == null, System.Web.Mvc.JsonRequestBehavior.AllowGet);
        }
}
}

问题就在这里

返回 Json(result == null, System.Web.Mvc.JsonRequestBehavior.AllowGet);

找不到 Json 类型。所以我需要知道如何解决这个问题?

在 Web API 应用程序中找不到 JSON 类型 asp.net

更改此内容

return Json(result == null, System.Web.Mvc.JsonRequestBehavior.AllowGet);

return Json(result == null);

也不要返回System.Web.Mvc.JsonResult,将其更改为。

public System.Web.Http.Results.JsonResult<bool> FindUser(string str)

System.Web.Mvc.JsonRequestBehavior.AllowGet仅对 MVC 有效,而对 WebAPI 无效(提示,请参阅您正在使用的类型的名称空间)。

有关 ApiController.Json 方法的详细信息,请参阅链接。