尝试获取json对象时的System.Reflection.TargetInvocationException web api

时间:2015-07-06 07:13:25

标签: json asp.net-mvc asp.net-web-api

我正在尝试将对象类型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;
    }

但我仍然不知道导致错误的原因以及如何使其异步。

0 个答案:

没有答案