Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF и enum / 7 сообщений из 7, страница 1 из 1
05.05.2009, 19:07
    #35970378
hover
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF и enum
Народ подскажите, как передать enum через WCF
Вот так пытаюсь это сделать.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
    [DataContract]
    public enum MyEnum
    {
        [EnumMember]
        Company = 1,
        [EnumMember]
        Branch = 2,
    }

    [DataContract]    
    public class MyClass
    {  
        private short _type = 1;

        public MyEnum Type
        {
            get { return (MyEnum)Enum.Parse(typeof(MyEnum), _type.ToString()); }
            set { _type = (short)value; }
        }

При передачи с клиента свойство имеет значение 0.
...
Рейтинг: 0 / 0
05.05.2009, 22:19
    #35970576
WCF
WCF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF и enum
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
[DataContract]
    public enum MyEnum
    {
        [EnumMember]
        Company = 1,
        [EnumMember]
        Branch = 2,
    }

    [DataContract]
[ServiceKnownType(typeof(MyEnum)]    
    public class MyClass
    {  
        private short _type = 1;

        public MyEnum Type
        {
            get { return (MyEnum)Enum.Parse(typeof(MyEnum), _type.ToString()); }
            set { _type = (short)value; }
        }
     }

[ServiceContract]
[ServiceKnownType(typeof(MyEnum)]    
...

...
Рейтинг: 0 / 0
06.05.2009, 08:30
    #35970914
hover
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF и enum
WCF,

Все равно та же фигня.
...
Рейтинг: 0 / 0
06.05.2009, 10:01
    #35971073
WCF
WCF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF и enum
А так?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
[DataContract]
    public enum MyEnum
    {
        [EnumMember]
        Company = 1,
        [EnumMember]
        Branch = 2,
    }

    [DataContract]
[ServiceKnownType(typeof(MyEnum)]    
    public class MyClass
    {  
        private short _type = 1;

        [DataMember]
        public MyEnum Type
        {
            get { return (MyEnum)Enum.Parse(typeof(MyEnum), _type.ToString()); }
            set { _type = (short)value; }
        }
     }

[ServiceContract]
[ServiceKnownType(typeof(MyEnum)]    
...

...
Рейтинг: 0 / 0
06.05.2009, 10:10
    #35971102
hover
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF и enum
WCF,

Спасибо! все работает..
...
Рейтинг: 0 / 0
06.05.2009, 11:32
    #35971370
WCF
WCF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF и enum
Ради познавательного интереса, поубирайте последовательно атрибуты [ServiceKnownType(typeof(MyEnum)] у Сервиса, у ДатаКонтракта.

На каком этапе отвалится?
...
Рейтинг: 0 / 0
06.05.2009, 14:40
    #35972007
hover
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WCF и enum
WCFРади познавательного интереса, поубирайте последовательно атрибуты [ServiceKnownType(typeof(MyEnum)] у Сервиса, у ДатаКонтракта.

На каком этапе отвалится?

Да ServiceKnownType я убрал, но все работает без изменений.. И еще загадка: У меня
все передаваемые классы (которые DataContract) унаследованы от одного базового класса (он тоже DataContract), в котором не установлены атрибуты KnownType наследников. Согласно документации по идее работать не должно или я что то путаю?

И еще в статье MSDN поему "Enumeration types in DataContract" при работе с enum о ServiceKnownType вообще ничего не упоминается. Мне кажеться проблема была в том, что я забыл установить атрибут DataMember у свойства Type.
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / WCF и enum / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]