Я делаю приложение в c #. Я использую .Net Remoting для вызова метода приложения Windows в веб-приложении. Для связи между Windows и веб-приложением я создал один объект удаленного взаимодействия, в котором я объявляю один метод. В приложении Windows у меня есть коллекция одного класса, и этот класс объявлен в удаленном объекте.
Теперь моя проблема в том, что всякий раз, когда я вызываю метод интерфейса, значение коллекции становится равным нулю. Перед вызовом этого метода он содержит некоторые данные.
Кроме того, всякий раз, когда я вставляю жестко закодированное значение, оно работает, но всякий раз, когда я вставляю значение времени выполнения, возникает проблема. Я использую многопоточность для вставки данных в коллекцию.
Удаленный объект состоит из двух компонентов, таких как StreamDataInfo.cs и IRemoteStreamData.cs as. Эти два разных класса в одной библиотеке классов.
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;
}
Пожалуйста, помогите мне. Спасибо заранее.