コールバックのある WCF サービスがあります。次に、Callbackfunction を呼び出しますが、それ以外はすべてうまく機能します。次に、リストを渡そうとしますが、コールバックは呼び出されませんが、スローされる例外はありません。他のすべてが正常に機能するため、Callback オブジェクトは機能しています。リスト内のオブジェクトと同じクラス オブジェクトをプッシュすることもできます。Class オブジェクトは として宣言され[DataContract]
、Propertiesは として宣言されます[DataMember]
。また、リストをループしました。これは通常、Entity Framework によって生成されます。
//IService
[ServiceContract(CallbackContract = typeof(ICallbackService))]
public interface IService
{
[OperationContract]
void Login(string username, string password);
[OperationContract]
void RequestCards(Guid sessionID);
}
//Service
public void RequestList(Guid sessinID)
{
User user = Users.FirstOrDefault(x => x.ID == sessinID);
if (user != null)
{
user.Callback.PushList(DBCtx.GetAllEntitys());
}
}
//ICallbackService
public interface ICallbackService
{
[OperationContract]
void LoginResult(Guid sessionID);
[OperationContract]
void PushList(List<Card> entitys);
}