如何解决ASP.NET-使用JSON发送响应-考虑到源代码,无法接收到响应
protected void RespondWithJson<T>(T graph)
{
var response = HttpContext.Current.Response;
ClearResponse();
response.ContentType = "text/json";
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T));
ds.WriteObject(response.OutputStream,graph);
response.End();
sql_disconnect();
}
该方法属于所有将使用JSON响应的页面,具体取决于URL中的查询参数。
当您考虑所涉及的源代码时,我从其中一页获得的响应毫无意义。
该页面用于为我们的分拣和打包操作分别提交分拣。 RespondWithJson是这些页面用来确定其响应的唯一方法。
picksubmission页面做出的唯一响应是PickSubmissionResult类型
例如
RespondWithJson(new PickSubmissionResult() { message = "Some URL Parameters are missing from the call!" });
但是,我实际上从此页面获得的响应的类型为List<PickingRow>
完全在服务器上的不同页面将使用List<PickingRow>
做出响应。
解决方法
已解决。
以前,我将“ Requestor”类设置为静态。 现在,我已将对每个Page对该类的引用替换为对它们自己的此类的单独实例的引用(现在是动态类)
protected Requestor requestor;
protected override void Page_Load(object sender,EventArgs e)
{
requestor = new Requestor();
requestor.SessionSet += Requestor_SessionSet;
}
现在,仅在最后访问的页面上调用Requestor_SessionSet处理程序,而不是在域的生命周期内调用所有访问的页面。
这里的课程:
静态实例并非请求/页面唯一,而是在服务器范围内
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。