2015-10-15 1 views
0

Это простой класс, я ссылаюсь на него в проекте silverlight в том же решении. если метод операции возвращает целое число, он отлично работает, но если я его вернуть DataContract, он просто говорит, что servicereference не может найтиServiceReference не найден при возврате DataContract из операцииContract?

В веб-проекте

public class UserResult 
    { 
.... 
    } 
    [ServiceContract(Namespace = "")] 
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
    public class ServiceUser 
    { 
     [OperationContract] 
    public UserResult UserSignIn(string userid, string password) 
    { 
     ... 
    } /// doesn't work 

    public int UserSignIn(string userid, string password) 
    { 
    ... 
    } // works 

В SilverLight

ServiceReferenceUser.ServiceUserClient srUser = 
     new ServiceReferenceUser.ServiceUserClient(); 
+0

Что именно не работает (что означает «говорит, что ссылка на службу не может найти» означает)? Можете ли вы опубликовать полную ошибку, независимо от того, находится ли она в диалоговом окне «Добавить служебную ссылку» (полное сообщение) или во время выполнения (полное сообщение об исключении, включая трассировку стека)? – carlosfigueira

+0

Ошибка «тип или пространство имен« ServiceReferenceUser »не может быть найдено» – wyx2000

+0

Ну, пространство имен 'ServiceReferenceUser' не существует, поэтому вы не можете его использовать. Попробуйте открыть файл Reference.cs (который вы можете увидеть, если вы выберите параметр «Показать все файлы» в проекте VS) и посмотрите, какое пространство имен было создано в этом классе. – carlosfigueira

ответ

0

Возможно, класс UserResult ссылается на другой DataContract. Если да, то DataContract необходимо указать как известный тип.

Смежные вопросы