Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Отправить POST-запрос (web api) с Universal windows app - Windows Phone

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Windows Phone Изменить свойство кнопки из сторонней формы http://www.cyberforum.ru/windows-phone-dev/thread1311508.html
Здравствуйте, у меня такой вопрос. Мне нужно, что бы по нажатию кнопки на одной форме, изменилось свойство кнопок Visibility в другой форме. Как это реализовать? Заранее спасибо
Windows Phone Холодильник для кулинарного приложения Здравствуйте. Подскажите, как реализовать поиск в виде "холодильника", для кулинарного приложения. Есть панорамное приложение, оно разделено, допустим, на горячее, салаты и т.д. В каждом разделе есть... http://www.cyberforum.ru/windows-phone-dev/thread1311386.html
на каком языке виндоуз программируют? Windows Phone
на каком языке виндоуз программируют? Добавлено через 57 минут можете удалять нашел с#
Windows Phone ListBox обновить данные
Добрый день! Есть ObservableCollection со списком. Этот спиок загружается в ListBox. Подскажите, как при изменении элемента(например переименовании или удалении) обновлять этот самый список? Если...
Windows Phone Как переименовать приложение http://www.cyberforum.ru/windows-phone-dev/thread1309647.html
Здравствуйте! Опишу ситуацию: написал приложение в VisualStudio 2013 на Visual Basic, при создании оставил название PhoneApp1. Сейчас возникла необходимость сменить его название. Как это сделать? Ума...
Windows Phone Не иогу найти свое приложение Выложил приложение на вф стор (первое свое). Мне дали на него ссылку, по которой я могу его найти, но через поиск оно не находится. В чем проблема? ... подробнее

Показать сообщение отдельно
megalexa
3 / 3 / 0
Регистрация: 16.11.2011
Сообщений: 34

Отправить POST-запрос (web api) с Universal windows app - Windows Phone

02.12.2014, 14:56. Просмотров 580. Ответов 0
Метки (Все метки)

Здравствуйте.

Есть сервис (ApiController для MVC):

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[HttpPost]
        public OperationResult InsertUser([FromBody]string user)
        {
            try
            {
                var userObj = JsonConvert.DeserializeObject<User>(user);
                _userRepository.InsertUser(userObj);
            }
            catch (Exception ex)
            {             
                return new OperationResult
                {
                    OperationState = OperationState.Failed,
                    ErrorMessage = ex.Message + user
                };
            }
 
            return new OperationResult
            {
                OperationState = OperationState.Success,
            };
        }
И есть Universal windows app, пытаюсь оттуда послать Post-запрос:

C#
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
28
29
30
31
32
33
34
 public static void AddUser()
        {
            var currentUser = UserRepository.GetUser();
 
            if (currentUser != null)
            {
                var userByJson = JsonConvert.SerializeObject(currentUser);
                var webRequest = (HttpWebRequest)WebRequest.Create("!!!");
 
                webRequest.Method = "post";
                webRequest.ContentType = "application/json";
 
                IAsyncResult getRequestStream = webRequest.BeginGetRequestStream(null, null);
 
                using (var writer = new StreamWriter(webRequest.EndGetRequestStream(getRequestStream)))
                {
                    writer.Write(userByJson);
                }
 
                webRequest.BeginGetResponse(OnAsyncCallback, webRequest);
 
                return;
            }
 
            throw new Exception();
        }
 
        private static void OnAsyncCallback(IAsyncResult asyncResult)
        {
            var httpWebRequest = (HttpWebRequest)asyncResult.AsyncState;
            WebResponse response = httpWebRequest.EndGetResponse(asyncResult);
            var reader = new StreamReader(response.GetResponseStream());
            string log = reader.ReadToEnd();
        }
После выполнения, log принимает значение:
"{\"OperationState\":1,\"ErrorMessage\":\"Value cannot be null.\\r\\nParameter name: value\"}"

Что не так? почему не получается передать объект?

Добавлено через 3 часа 8 минут
Решено, оказывается сервис должен принимать объект, а не сериализованную строку:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[HttpPost]
        public OperationResult InsertUser(User user)
        {
            try
            {
                //var userObj = JsonConvert.DeserializeObject<User>(user);
                var currentId = _userRepository.InsertUser(user);
 
                return new OperationResult
                {
                    OperationState = OperationState.Success,
                    SpecialInfo = currentId
                };
            }
            catch (Exception ex)
            {             
                return new OperationResult
                {
                    OperationState = OperationState.Failed,
                    ErrorMessage = ex.Message
                };
            }
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru