когда использовать дуплексную службу?

Ну, я знаю, что в дуплексном контракте служба может отправлять сообщения клиенту, но я хотел бы знать, когда это действительно полезно.

У меня есть обычное приложение, которое отправляет запрос в службу, чтобы получить данные из базы данных, вставить данные... и т. д. Кроме того, мне нужно хранить файлы размером около 40 МБ в базе данных, поэтому мне нужна хорошая производительность. По этой причине я хотел бы использовать привязку net.tcp с потоковым режимом передачи, но проблема в том, что дуплексная служба net.tcp не может использовать потоковый режим передачи.

Думаю, у меня есть несколько вариантов.

1.- Изучите, действительно ли мне нужен дуплексный контракт для такого рода приложений. Возможно, например, в приложении чата больше смысла в дуплексном контракте, потому что серверу, возможно, нужно уведомить клиента, когда контакт подключен... и т. д. Но в обычном клиенте необходим доступ к базе данных. двойной договор? для каких операций может понадобиться дуплексный контракт?

2.- Другой вариант - не иметь дуплексного контракта, а реализовать бездуплексный контракт на сервере и другой одиночный контракт на клиенте, поэтому, когда клиент подключается к службе, служба получает необходимую информацию для подключиться к сервису клиента. Но хороший ли это способ избежать дуплексного контракта?

3.- Неужели для моего приложения мне нужен tcp вместо дуплексного HTTP, который допускает потоковый режим передачи? Каковы преимущества tcp над HTTP с точки зрения производительности?

Спасибо.

5
задан Álvaro García 25 June 2012 в 15:50
поделиться