Возникает вопрос: действительно ли вам нужно создать канал с точным типом контракта в вашем конкретном случае?
Поскольку вы выполняете маршрутизацию, есть очень хороший шанс, что вы можете просто справиться с общие формы каналов. Например, если вы маршрутизируете одностороннее сообщение, тогда вы можете создать канал для отправки сообщения следующим образом:
ChannelFactory<IOutputChannel> factory = new ChannelFactory<IOutputChannel>(binding, endpoint);
IOutputChannel channel = factory.CreateChannel();
...
channel.SendMessage(myRawMessage);
Если вам нужно отправить двустороннюю услугу , вместо этого используйте IRequestChannel.
Если вы выполняете маршрутизацию, проще всего просто иметь дело с родовыми формами каналов (с общим договором на весь контракт с внешним сервисом) и просто убедитесь, что сообщение, которое вы отправляете, имеет все правильные заголовки и свойства.
Вы пробовали onPanUpdate(details)
метод? Вот как вы можете это сделать.
GestureDetector(onPanUpdate: (details) {
if (details.delta.dx > 0)
print("Dragging in +X direction");
else
print("Dragging in -X direction");
if (details.delta.dy > 0)
print("Dragging in +Y direction");
else
print("Dragging in -Y direction");
});
Примечание. Этот обратный вызов вызывает сбой, если onHorizontalDragUpdate()
или onVerticalDragUpdate()
установлены, как указано в anmol.majhail.