как подключить (вызвать) службу wcf на xamarin Android?

#c# #android #wcf #xamarin

#c# #Android #wcf #xamarin

Вопрос:

у меня есть 2 проекта в моем решении 1 Android 2 приложение-служба wcf

я создал службу для добавления моих данных в мою базу данных

информация о базе данных:

sql server 2014

я протестировал свой сервис при отладке и отлично работаю info:

подключение через liq

и, добавьте в мой проект Android, успешно добавив справочную службу, я могу видеть свои таблицы, поля и… когда я создаю экземпляр моей таблицы методом click в моем проекте android, проект выполняется успешно, но не влияет на мою базу данных, я указываю точку останова в кодах и вижу данные, которые нужно добавить, но не влияют вот мои коды

      using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;

namespace Siman_Android
{
    [Activity(Label = "PersonAddActivity")]
    public class PersonAddActivity : Activity
    {
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);


            Button btn = FindViewById<Button>(Resource.Id.btnadd);


            btn.Click  = Btn_Click;

        }
   ServiceRefrence.Service1 myService = new ServiceRefrence.Service1();

        private void Btn_Click(object sender, EventArgs e)
        {
            myService.Url=("http://localhost:13294/Service1.svc");
            EditText txtname = FindViewById<EditText>(Resource.Id.txtname);
            EditText txtfamily = FindViewById<EditText>(Resource.Id.txtfamily);

             myService.GetPersonAsync(txtname.Text, txtfamily.Text);
        }
    }
}
  

и мой сервисный код для добавления пользователя

  public bool GetPerson(string FirstName, string LastName)
    {
        try
        {
            PersonName pr = new PersonName()
            {
                Family = LastName,
                Name = FirstName
            };
            db.PersonNames.Add(pr);
            db.SaveChanges();
            return true;
        }
        catch (Exception)
        {

            return false;
        }
    }
  

пожалуйста, помогите!

Комментарии:

1. Я не понимаю вопроса. Ваш код выполняется нормально, но вы не видите пользователя в своей базе данных? Кажется, вы используете entity Framework, это верно? Вы нажимаете точку останова в своей службе при вызове GetPerson?

2. @YuriS нет, я вижу таблицу в базе данных, но ничего не происходит, когда я пытаюсь что-то добавить в базу данных ,

3. можете ли вы поставить точку останова в функции GetPerson? Вы попали в нее? Если да, получаете ли вы исключение в этой функции?

4. @YuriS да, я поставил точку останова, и она ничего не отправляет в функцию, просто код запускается и не происходит с базой данных

5. извините за мой плохой английский. Вы НАЖИМАЕТЕ точку останова или нет при вызове службы?

Ответ №1:

Вы можете использовать IP-адрес локальной сети со своего компьютера, если ваш эмулятор находится в той же сети. Также проверьте, есть ли у вашей виртуальной машины сети из окна Oracle. Это может создать проблемы

введите описание изображения здесь