Несколько интерфейсов от единственного сервиса WCF?

Ваш selectedImgUri будет нулевым, если пользователь не выберет изображение из галереи.

Таким образом, когда вы вызываете createUserAccount (), когда нажата кнопка регистрации, а пользователь не выбрал, изображение selectedImgUri не обновляется в соответствии с вашим кодом. Следовательно, updateUserInfo () не сможет вызвать исключение, которое вызывает сбой.

добавьте ноль-чекер, например,

if(pickedImgUri!=null){
    //then update the user account
}

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

32
задан Peter Wone 6 April 2009 в 07:05
поделиться

3 ответа

Сначала необходимо быть ясными, каков сервис. Вы имеете в виду единственную конечную точку или несколько конечных точек в том же хосте?

Принятие Вас означает единственную конечную точку, затем да, но с небольшой работой. Конечная точка может только реализовать единственный интерфейс; таким образом, то, что необходимо сделать, объединить все интерфейсы, которые Вы хотите реализовать в единственный интерфейс

public interface IMyInterface : IInterface1, IInterface2

и затем реализуйте их всех внутренняя часть Ваш класс реализации. То, что Вы не можете сделать, имеют несколько интерфейсов, и несколько реализаций волшебно объединяются в единственную конечную точку.

52
ответ дан 27 November 2019 в 20:05
поделиться

Вот то, как Вы могли выставить тот же интерфейс на двух различных конечных точках в Вашем Приложении. Конфигурация, если это - waht, Вы спрашиваете.

<service name="Service1">    
   <endpoint address="http://localhost:8001/service1.asmx" binding="basicHttpBinding" contract="IService" />
</service>
<service name="Service2">    
  <endpoint address="http://localhost:8002/service2.asmx" binding="basicHttpBinding"  contract="IService" />
</service>
3
ответ дан 27 November 2019 в 20:05
поделиться

С WCF Вы можете:

  • имейте один класс реализации услуги, который реализует несколько сервисных интерфейсов
  • выставьте один класс реализации услуги через несколько конечных точек, например, одно сервисное использование конечной точки BasicHttpBinding для максимальной совместимости и другого использования конечной точки NetTcpBinding для максимальной производительности (с клиентами WCF).
5
ответ дан 27 November 2019 в 20:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: