gpt4 book ai didi

c# - POST web api 上的内部错误 500

转载 作者:太空宇宙 更新时间:2023-11-03 20:15:30 25 4
gpt4 key购买 nike

我的 Web API 应用程序有问题。当我尝试在我的数据库中发布(保存)新用户时出现内部错误 500。下面的功能是我用来调用客户电话的功能。

public void InsertNewUser(RegisterModel pNewUser, string pEmail)
{
// Build rest uri
string lREST_Uri_Browse = string.Format(@"api/accountapi/saveuserdata"
// User data
/*pModelSerialized*/);

// Complete URI
string lREST_Uri = Helpers_API.endPoint + lREST_Uri_Browse;

var client = new HttpClient();

client.BaseAddress = new Uri(Helpers_API.endPoint);

var newUser = new Models.Models_API.Users
{
Email = pNewUser.Email,
FName = pNewUser.FName,
LName = pNewUser.LName,
Inserted = DateTime.Now,
ActiveAcc = true,
AccType = pNewUser.AccType,
BCompanyID = pNewUser.CompanyID,
PID = pNewUser.PID,
Password = pNewUser.Password,
Token = GetToken(pEmail),
ThirdParty = 0,
Gender = pNewUser.Gender,
BirthDate = pNewUser.BirthDate
};

// Add an Accept header for JSON format.
//client.DefaultRequestHeaders.Accept.Add(
// new MediaTypeWithQualityHeaderValue("application/json"));
// Create the JSON formatter.
MediaTypeFormatter jsonFormatter = new JsonMediaTypeFormatter();

// Use the JSON formatter to create the content of the request body.
HttpContent content = new ObjectContent<Models.Models_API.Users>(newUser, jsonFormatter);

var result = client.PostAsync(lREST_Uri_Browse, content).Result;
}

这是模型

public class Users
{
public int BrokerID { get; set; }
public DateTime Inserted { get; set; }
public string Email { get; set; }
public string FName { get; set; }
public string LName { get; set; }
public bool ActiveAcc { get; set; }
public int BCompanyID { get; set; }
public int PID { get; set; }
public int AccType { get; set; }
public string Password { get; set; }
public string Token { get; set; }
public int Gender { get; set; }
public DateTime BirthDate { get; set; }
public int ThirdParty { get; set; }
}

下面是 APIController 中的 POST:

public HttpResponseMessage SaveUserData(Users pNewUser)
{
bool createUser = false;
// First check for provided email in DB
Users existingUser = asigCtx.Users.Where(u => u.Email == pNewUser.Email).SingleOrDefault();
if (existingUser == null)
createUser = true;
else if (existingUser.ActiveAcc)
createUser = true;

if (createUser)
{
using (asigCtx = new AsigPrimeContext())
{
Users user = new Users()
{
Email = pNewUser.Email,
FName = pNewUser.FName,
LName = pNewUser.LName,
Inserted = DateTime.Now,
ActiveAcc = true,
AccType = pNewUser.AccType,
BCompanyID = pNewUser.BCompanyID,
PID = pNewUser.PID,
Password = pNewUser.Password,
Token = pNewUser.Token,
ThirdParty = 0,
Gender = pNewUser.Gender,
BirthDate = pNewUser.BirthDate,
};

asigCtx.Users.Add(user);

asigCtx.SaveChanges();
}
}
var response = Request.CreateResponse<Users>(HttpStatusCode.Created, pNewUser);
return response;
}

谁能给我一些关于这段代码的建议,因为我是新手,我只想把它做好。 TNX

最佳答案

您的代码有错误。 500 错误表示您的代码包含一个未处理的异常,该异常杀死了它的工作进程。

更改您的 web.config 文件,以便您的应用程序输出完整的错误消息。

关于c# - POST web api 上的内部错误 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17004525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com