我在c#中创建一个应用程序。我正在使用.Net Remoting来调用web应用程序中的windows应用程序的方法。对于windows和web应用程序之间的通信我做了一个远程处理对象,其中我声明了一个方法。在Windows应用程序中我有一个类的集合,该类在远程对象中声明。
现在我的问题是每当我调用接口方法时,集合值变为零。在调用该方法之前它包含一些数据。
每当我插入硬编码值然后它的工作,但每当我插入运行时值,它给出问题。我正在使用线程将数据插入集合。 远程对象有两个组件,如StreamDataInfo.cs和IRemoteStreamData.cs。这两个组件是一个类库中的不同类。
namespace StreamDataService
{
public interface IRemoteStreamData
{
List<string> GetPatientHistory(string BedID);
}
}
namespace StreamDataService
{
[Serializable] public class StreamDataInfo:MarshalByRefObject
{
public string m_PortNumber { get; set; }
public string m_BedID { get; set; }
public List<string> m_StreamData { get; set; }
}
}
在服务器应用程序中,我将接口方法编写为
public List<string> GetPatientHistory(string PortNumber)
{
StreamDataInfo objStreamDataInfo = new StreamDataInfo();
lock (this)
{
objStreamDataInfo = (from temp in listStreamDataInfo
where temp.m_PortNumber.Equals(PortNumber.ToString())
select temp).SingleOrDefault();
}
return objStreamDataInfo.m_StreamData;
}
请帮帮我。谢谢。