【发布时间】:2013-03-17 09:54:48
【问题描述】:
在我的以下应用程序中,我生成了一个“JobManager”类的列表。
List<JobManager>
对数据库的访问和填写我的列表非常完美。将此类列表返回给我的客户似乎有问题。
详细来说,我的代码是这样的
IService Class
OperationContract(Name = "ReadJobQueue")]
[FaultContract(typeof(FaultException))]
List<JobManager> AccessManager(List<string> status,string process, string dtFrom, string dtTo);
Service : IService
public List<JobManager> AccessManager(List<string> status, string process, string dtFrom, string dtTo)
{
//return 'new List<JobManager>()' does work, without any data being filled.
return new JobBuilder(status, process, dtFrom, dtTo);
}
[DataContract]
public class JobManager
{
List<JobManager> _jobManagerchildren = new List<JobManager>();
[DataMember(IsRequired = true, Order = 0)]
public string Description { get; set; }
[DataMember]
public List<JobManager> JobManagerChildren
{
get { return _jobManagerchildren; }
internal set { _jobManagerchildren = value; }
}
}
internal class JobBuilder : List<JobManager>
{
public JobBuilder(List<string> status, string process, string dtFrom, string dtTo)
: base()
{
DataTable dt = new Database().AccessJobQueue(status, process, dtFrom, dtTo);
foreach (DataRow row in dt.Rows)
{
Add(new JobManager { Description = row[1].ToString(), JobManagerChildren = JobDetail(row[0].ToString()) });
}
}
...
}
我的 JobManager 课有什么遗漏吗?
编辑错误代码/异常
System.Net.Sockets.SocketException: 远程主机关闭了现有连接 bei System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size , SocketFlags socketFlags) 北 System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int 32 偏移量、Int32 大小、TimeSpan 超时、布尔关闭) --- Ende der internen Ausnahmestapelüberwachung --- 北 System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int 32 偏移量、Int32 大小、TimeSpan 超时、布尔关闭) bei System.ServiceModel.Channels.SocketConnection.Read(Byte[] buffer, Int32 o ffset、Int32 大小、TimeSpan 超时) 北 System.ServiceModel.Channels.DelegatingConnection.Read(Byte[] buffer, Int 32 偏移量,Int32 大小,TimeSpan 超时) bei System.ServiceModel.Channels.ConnectionStream.Read(Byte[] buffer, Int32 o ffset,Int32 计数) bei System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 数数) 北 System.Net.Security.NegotiateStream.StartFrameHeader(Byte[] 缓冲区,Int32 偏移量,Int32 计数,AsyncProtocolRequest asyncRequest) bei System.Net.Security.NegotiateStream.ProcessRead(Byte[] buffer, Int32 offs 等,Int32 计数,AsyncProtocolRequest asyncRequest) --- Ende der internen Ausnahmestapelüberwachung --- bei System.Net.Security.NegotiateStream.ProcessRead(Byte[] buffer, Int32 offs 等,Int32 计数,AsyncProtocolRequest asyncRequest) bei System.Net.Security.NegotiateStream.Read(Byte[] buffer, Int32 offset, Int 32个) 北 System.ServiceModel.Channels.StreamConnection.Read(Byte[] buffer, Int32 o ffset、Int32 大小、TimeSpan 超时) --- Ende der internen Ausnahmestapelüberwachung ---
服务器堆栈跟踪: 北 System.ServiceModel.Channels.StreamConnection.Read(Byte[] buffer, Int32 o ffset、Int32 大小、TimeSpan 超时) bei System.ServiceModel.Channels.SessionConnectionReader.Receive(TimeSpan tim 输出) 北 System.ServiceModel.Channels.SynchronizedMessageSource.Receive(TimeSpan t 超时) 北 System.ServiceModel.Channels.FramingDuplexSessionChannel.Receive(TimeSpan 暂停) 北 System.ServiceModel.Channels.FramingDuplexSessionChannel.TryReceive(TimeS 平移超时,消息和消息) 北 System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(消息messag e、TimeSpan 超时) bei System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean o neway,ProxyOperationRuntime 操作,Object[] 输入,Object[] 输出,TimeSpan ti meout) 北 System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCal lMessage方法调用,ProxyOperationRuntime操作) 北 System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage 消息)
在 [0] 处重新抛出异常: 北 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage re qMsg, IMessage retMsg) 北 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgD ata,Int32 类型) bei WcfSys.Shared.IService.AccessManager(List`1 status, String process, S 字符串 dtFrom,字符串 dtTo) WcfSys.Ser 中的 WcfSys.Server.Program.Main() ver\Program.cs:Zeile 66.
【问题讨论】:
-
我们又来了:错误信息是什么??
-
好吧,我在几秒钟后编辑主帖。