首页 > 解决方案 > WCF 和 Xamarin 表单

问题描述

我是 WCF 和 Xamarin 的新手。我需要从 WCF 检索简单数据。

这是我的视图模型:

 #region Constructor
    public ItemViewModel()
        : base()
    {
       DataStore = DependencyService.Get<IDataStore<Item>>() ?? new ItemDataStore();
        Title = "Items";
    }
    #endregion

项目数据存储

public class ItemDataStore: IDataStore<Item>
    {
        List<Item> items;

        public ItemDataStore()
        {

            items = new List<Item>();
            ServiceWCF serviceWCF = new ServiceWCF();

            ItemWCF[] test = serviceWCF.GetItems(); //here I'm gettin error

            foreach (var item in test)
            {
                Item i = new Item();
                i.Name= item.Name;
                i.Price= item.Price;
                items.Add(i);
            }
        }
}

错误信息 在此处输入图像描述

WCF

[ServiceContract]
public interface IServicePawelWCF
{
    [OperationContract]
    List<ItemWCF> GetItems();
}

[DataContract]
public class PrzedmiotWCF
{
    [DataMember]
    public string Name { get; set; }
    [DataMember]
    public decimal Price { get; set; }

}
 public List<ItemWCF> GetItems()
{

        dataEntities db = new dataEntities();
        return db.Item.Select(x => new ItemWCF
        {
            Name = x.Name,
            Price = x.Price,
        }).ToList();
}

对于 WCF,我打开了上面代码编写的第二个 Visual Studio,并使用所有默认设置运行。在 Microsoft 客户端测试 WCF 应用程序中,WCF 正在工作并按数组检索正确的数据。

在 App Xamarin 我添加了对 android 项目的引用。

请原谅是我第一次接触 WCF

编辑:“你能发布完整的异常,包括内部异常和堆栈跟踪吗?” 在此处输入图像描述在此处输入图像描述

EDIT2 我正在使用 xamarin android 模拟器,我认为这个模拟器看不到我的 localhost iis

在这里我找到了解决方案: https://docs.microsoft.com/pl-pl/xamarin/cross-platform/data-cloud/web-services/walkthrough-working-with-wcf 但是在运行管理员命令propt之后 netsh http add urlacl url=http://192.168.1.143:9608/ user=everyone:(标头:配置对 IIS Express 的远程访问)命令有效。我收到错误:Creating SDDL failed, Error: 1332

标签: c#wcf

解决方案


推荐阅读