asp.net - 服务堆栈 :Type definitions should start with a '{' , 期望序列化类型 'AuthResponse' ,得到以以下开头的字符串

标签 asp.net servicestack

我正在使用以下代码来验证在我的 asp.net 应用程序中使用 ServiceStack 基本身份验证提供程序的用户并收到序列化异常。如果有人解决了此问题,请回答。谢谢。

我在我的 asp.net 应用程序中使用以下代码:

<asp:Button ID="btnAuth" runat="server" OnClick="btnAuth_Click" Text="Authenticate"/>

我在代码隐藏文件中的 clien.Post 方法 上收到异常。

protected void btnAuth_Click(object sender, EventArgs e)
        {
            try
            {                
                var baseUrl = Request.Url.GetLeftPart(UriPartial.Authority) + "/api";
                var client = new JsonServiceClient(baseUrl);
                var authResponse = client.Post<AuthResponse>(new Auth { UserName = "admin", Password = "12345" });
                if (authResponse.ResponseStatus.ErrorCode == null)
                {
                   //Do Something here
                }
            }
            catch (WebServiceException ex)
            {
                throw ex;
            }
        }

以下是我在 clien.Post 方法上收到的异常详细信息:

[SerializationException: Type definitions should start with a '{', expecting serialized type 'AuthResponse', got string starting with: 

最佳答案

序列化异常“期望序列化类型‘X’,字符串开头为:”意味着序列化程序尝试从空字符串而不是正确的 json 格式字符串创建对象 ("{Class: {属性:{Sub:值}}}“)。

在这种情况下,最可能的原因是 baseUrl 处的服务器没有对 POST 请求返回响应(解释为空字符串)。可能是 URL 配置错误或服务器端出现异常?

关于asp.net - 服务堆栈 :Type definitions should start with a '{' , 期望序列化类型 'AuthResponse' ,得到以以下开头的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621459/

相关文章:

asp.net - MVC 3 中的 Windows 身份验证

asp.net - 如何 "push"更新 (ASP.NET) 网页表格/网格中的各个单元格?

c# - 如何在 ASP.Net MVC Controller 中正确使用 ServiceStack 认证

c# - Swagger 无法在自托管的 ServiceStack 服务上工作

servicestack - 基于 Ormlite int 的枚举以 varchar(max) 的形式出现

asp.net - 当有人在 Asp.NET 中使用 PayPal 或信用卡汇款时如何获得通知?

asp.net - 重新编译asp.net网站时如何重新启动IIS站点

c# - 显示所选文件的文件名 - asp :fileupload

serialization - ServiceStack 在 XML 中序列化列表

enums - Servicestack Ormlite 多列约束失败,其中约束包含 Enum