C# 从服务器到移动应用程序获取数据的最佳方式
也许这看起来像是一个意见问题,但我真正需要知道的是,我是否以一种安全和良好的绩效方式来完成我的工作 我开发了很多移动应用程序(基于xamarin),它们从本地服务器(windows server)的dbf文件中获取数据 我所做的是开发一些asp.net Web服务(asmx),从dbf文件中获取数据,并通过json将其发送到我的应用程序(我喜欢c#,这就是asp.net的原因) 然后我们向客户获取一个静态地址,安装IIS,部署Web服务和应用程序连接。我们将端口80从路由器重定向到服务器,一切正常 我对json使用了一些基本的加密,应用程序有用户和密码C# 从服务器到移动应用程序获取数据的最佳方式,c#,asp.net,json,web-services,xamarin,C#,Asp.net,Json,Web Services,Xamarin,也许这看起来像是一个意见问题,但我真正需要知道的是,我是否以一种安全和良好的绩效方式来完成我的工作 我开发了很多移动应用程序(基于xamarin),它们从本地服务器(windows server)的dbf文件中获取数据 我所做的是开发一些asp.net Web服务(asmx),从dbf文件中获取数据,并通过json将其发送到我的应用程序(我喜欢c#,这就是asp.net的原因) 然后我们向客户获取一个静态地址,安装IIS,部署Web服务和应用程序连接。我们将端口80从路由器重定向到服务器,一切正
正如我在开始时所说,我的问题是,如果这是一个正确的方法,或者可以用另一种更安全的方式(和性能,但我最担心的是安全性),我对服务器没有太多经验。您可以使用ASP.NET WebApi和WebClient与HTTPS协议 在客户端(移动设备或其他设备):
您是否尝试以相反的方式获取数据?1、在您拥有ASP.NET WebAPI(类似于您的ASP.NET webservices)的服务器上2、使用Xamarin WebClient的移动设备通过您的WebAPI上的https url进行查询,并返回JSON格式的数据。所以你的移动应用程序开始获取数据,你可以使用HTTPS协议。。。我来看看,因为我没有得到任何其他答案,我认为你的建议是获得更好安全性的唯一选择
string result = "";
using (WebClient webClient = new WebClient())
{
string apiUrl = string.Format(@"https://webapi.yourdomain.com/api/{0}/{1}/", model.UserName, model.UserPass);
webClient.Headers["Accept"] = "application/json";
webClient.Encoding = System.Text.Encoding.UTF8;
result = webClient.DownloadString(new Uri(apiUrl));
}
ResponseMyObj resultObj = JsonConvert.DeserializeObject<ResponseMyObj >(result);
public class MyObjController : BaseController
{
[HttpGet]
[ActionName("GetMyObjList")]
public HttpResponseMessage GetMyObjList(string UserName, string UserPass)
{//Here you can check the credentials and retrieve data from the database and return them back to the client...
object result = null;
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, result);
return response;
}
}