私の質問は:そのようなコードの一部を持っている(コールバック契約を介した通信)
private void BroadcastMessage(DataEventArgs e)
{
DataEventHandler temp = DataEvent;
if (temp != null)
{
foreach (DataEventHandler handler in temp.GetInvocationList())
{
handler.BeginInvoke(this, e, EndAsync, null);
}
}
}
とコールバック契約
interface IDataCallback
{
[OperationContract(IsOneWay = true)]
void EntityUpdateReceived(Entity entity);
[OperationContract(IsOneWay = true)]
void EntitiesUpdateReceived(List<Entity> entities);
[OperationContract(IsOneWay = true)]
void EntityDeleteReceived(Entity entity);
[OperationContract(IsOneWay = true)]
void EntitiesDeleteReceived(List<Entity> entities);
[OperationContract(IsOneWay = true)]
void SendLogOffMessage(string message);
[OperationContract(IsOneWay = true)]
void Logoff();
[OperationContract(IsOneWay = true)]
void UpdatePlan(int userId);
}
途中でネットワークの問題が発生した場合でも、メッセージがすべてのクライアントに正常にブロードキャストされるという保証はありますか?つまり、クライアントが常に接続されていると仮定して、サービスは成功するまで何度もメッセージを自動的に配信しようとしますが、最初の配信中にいくつかの問題がありました。保証するために追加のコードを書く必要があるかどうかわからないので質問しています(サービスクライアント確認メッセージなど)app.configで信頼できるセッションを有効にしていますが、信頼できるセッションで問題は解決しますか?
よろしくお願いします