我正在尝试将对象类型UserEntry发送到客户端。 我使用的路线是:http://localhost:3027/api/userapi/getinfo?username=myUsername 导致此错误的原因是什么或我的代码有什么问题?
[HttpGet, Route("api/userapi/getinfo")]
public async Task<string> getUserInfo([FromUri]string username)
{
UserEntry u = await UserEntry.getUserInfo(username);
return new JavaScriptSerializer().Serialize(u);
}
这是内部异常显示的内容:
InnerException:{ 消息:“发生了错误。”, ExceptionMessage:“操作无效。连接已关闭。”, ExceptionType:“System.InvalidOperationException”, StackTrace:“在System.Data.SqlClient.SqlConnection.get_ServerVersion()上的System.Data.SqlClient.SqlConnection.GetOpenConnection()” }
我检查并确保连接数据库时没有错误,但仍显示错误。
我通过使其同步
暂时解决了这个问题我通过使它同步来解决它
[HttpGet,Route("api/userapi/getinfo")]
public SimpleUser getUserInfo([FromUri]string username)
{
var ur = new UserRepository();
return ur.getUser(username).First();
}
public IEnumerable<SimpleUser> getUser(string username)
{
UserEntryDBContext context = new UserEntryDBContext();
UserEntry u = context.Users.Where( x => x.username == username).FirstOrDefault();
List<SimpleUser> s = new List<SimpleUser>();
s.Add(new SimpleUser(u));
return s;
}
但我仍然不知道导致错误的原因以及如何使其异步。