我是 Xamarin 新手,我正在使用带有最新 Xamarin 更新的 VS 2017 Enterprise。

我想添加一个 API,以便数据库可以与我的移动应用程序和 MVC 项目进行通信。

我创建了一个跨平台的空白 .NET Standard 项目。

我向解决方案添加了一个新文件夹,并在该文件夹中添加了一个用于编写 RestAPI 代码的类。

在编写代码时,我使用了 HttpClient 但它给了我一个错误,询问我是否

missing an assembly or reference.

如果我无法使用 HttpClient,如何为 REstApi 编写代码?

或者是否有更好的方法让我的数据库与我的 MVC 项目和移动应用程序进行通信?

我将在 Azure 上发布我的 MVC 项目和移动应用程序。谢谢

请您参考如下方法:

首先

对于出现的错误:缺少程序集或引用。

HttpClient 位于“System.Net.Http”命名空间中。

您需要添加:using System.Net.Http;

如上所述here

<小时 />

其次

有没有更好的方法让您的数据库与您的MVC项目移动应用进行通信?

是的有更好的方法,在发布您的 MVC 项目后,

您可以使用Azure 移动客户端

  • 第 1 步

打开“包管理器控制台”并输入

Install-Package Microsoft.Azure.Mobile.Client -Version 4.0.2

或者您可以从 Azure Mobile Client SDK 获取最新版本

This library provides features for creating Windows and Xamarin mobile apps that connect to Azure Mobile Apps

  • 第 2 步

假设你有一个名为“user”的类, 并且您想要读取、插入、更新和删除数据

看一下下面的代码示例:

using Microsoft.WindowsAzure.MobileServices; 
using System.Collections.ObjectModel; 
using System.Threading.Tasks; 
 
 public class User {/*....*/ } 
 
 
  public class AzureServices 
  { 
      private static readonly string url = "http://xxxxx.azurewebsites.net"; 
 
      /* 
       * The Azure Mobile Client SDK provides the MobileServiceClient class,  
       * which is used by a Xamarin.Forms application to access the Azure Mobile Apps instance 
      */ 
 
      public MobileServiceClient Client; 
      public IMobileServiceTable<User> UserTable; 
 
      public AzureServices() 
      { 
          /*  
           * When the MobileServiceClient instance is created, 
           * an application URL must be specified to identify the Azure Mobile Apps instance. 
          */ 
 
          Client = new MobileServiceClient(url); 
 
          //calling the GetTable method on the MobileServiceClient instance, which returns a IMobileServiceTable<User> reference. 
          UserTable = Client.GetTable<User>(); 
      } 
 
      // Querying Data 
      public async Task<ObservableCollection<User>> GetAllUsers(bool sync = false) 
      { 
          var userList = await UserTable.ToEnumerableAsync(); 
          return new ObservableCollection<User>(userList); 
      } 
      //Inserting Data 
      public async Task AddUser(User item) 
      { 
          await UserTable.InsertAsync(item); 
      } 
      // Updating Data 
      public async Task UpdateUser(User item) 
      { 
          await UserTable.UpdateAsync(item); 
      } 
      // Deleting Data 
      public async Task DeleteUser(User item) 
      { 
          await UserTable.DeleteAsync(item); 
      } 
 
  } 

欲了解更多信息,请访问Azure Mobile App


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!