WCFホスト(サービスプロキシではない)から、サービスを使用して接続されているクライアントにデータを送信したい。どうすればこれを達成できますか?
3818 次
1 に答える
3
デュプレックスサービスを作成する必要があります。詳細については、次の記事を参照してください:http: //msdn.microsoft.com/en-us/library/ms731064.aspx
次に例を示します。
[ServiceContract(
SessionMode=SessionMode.Required,
CallbackContract=typeof(INotificationServiceCallback))]
public interface INotificationService
{
[OperationContract(IsOneWay = true)]
void Connect();
}
public interface INotificationServiceCallback
{
[OperationContract(IsOneWay = true)]
void SendNotification(string notification);
}
public class NotificationService : INotificationService
{
public static List<INotificationServiceCallback> Clients =
new List<INotificationServiceCallback>();
public void Connect()
{
Clients.Add(
OperationContext.Current.GetCallbackChannel<ICalculatorDuplexCallback>());
}
}
public class Notifier
{
void HandleReceivedNotification(string notification)
{
foreach (var client in NotificationService.Clients)
{
client.SendNotification(notification);
}
}
}
于 2011-02-25T04:48:31.720 に答える