错误代码非常糟糕,ERR_CONNECTION_RESET有许多原因,我在其他问题上找到的原因与大型Web服务调用的MaxRequestLength太小有关.我返回的数据只有几个KB,所以这不是问题.
这是我的界面代码
[WebGet(RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.WrappedRequest,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "GetReportByID?ReportID={ReportID}")]
[OperationContract]
UsageReport GetReportByID(int ReportID);
Run Code Online (Sandbox Code Playgroud)
这是实施
public UsageReport GetReportByID(int ReportID)
{
return new UsageReport(ReportID);
}
Run Code Online (Sandbox Code Playgroud)
这是UsageReport的类代码
[DataContract]
public class UsageReport
{
[DataMember]
List<UsageItem> RL;
public UsageReport(int reportID)
{
RL = new List<UsageItem>();
using (SqlDataReader dr = DBUtility.ExecuteReader(cmd, "DBString"))
{
while (dr.Read())
{
ItemNumber = dr["ItemID"] as int? ?? 0;
RL.Add(new UsageItem(ItemNumber));
}
dr.Close();
}
}
public class UsageItem
{
int ItemNumber;
public UsageItem(int ItemNumber)
{
this.ItemNumber = ItemNumber;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我的UsageItem类,我错过了必要的DataContract和DataMember字段.
[DataContract]
public class UsageItem
{
[DataMember]
int ItemNumber;
public UsageItem(int ItemNumber)
{
this.ItemNumber = ItemNumber;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3044 次 |
| 最近记录: |