c#后台访问接口封装好的方法

在平时的工作学习生活中,难免要遇到一些特殊情况,在特殊情况下我们会选择将方法封装在接口里并且发布,在我们需要访问的时候再通过后台代码来实现调用接口来返回数据。

1:在vs2015中新建webApi,新建类GetApkInfo

[HttpGet]
        public string GetApkInfo(string filepath)
        {
            ApkResult result = new ApkResult(Code.OK);
            try
            {
                Dictionary apkResult = FileHelper.ReadApkInfo(filepath);
                result.ApkInfo = JsonHelper.Serialize(apkResult);
            }
            catch (Exception ex)
            {
                result = new ApkResult(Code.FAIL, ex.Message);
            }
            return JsonHelper.Serialize(result);

        }

其中。,filePath为参数。

2:将接口通过iis发布后,我们在后台就可以通过写代码来实现对接口的访问,如果是get无参数类型,就可以用代码来实现

实现如下:

 string url = "http://172.16.18.144:8077/BackgroundManagement2/getApkInfo/AppHelper/GetApkInfo";

 WebClient web = new WebClient();
 web.Encoding = Encoding.UTF8;                 //注意编码
 string Dataaa = web.DownloadString(url);   //这一句表示请求数据

 var job = PhoneCloud.Common.JsonHelper.Deserialize(Dataaa);

如果是带参数的访问:

 string queryString = "?filepath="+filePath;
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url + queryString);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "GET";
httpWebRequest.Timeout = 20000;
                                //byte[] btBodys = Encoding.UTF8.GetBytes(body);
                                //httpWebRequest.ContentLength = btBodys.Length;
                                //httpWebRequest.GetRequestStream().Write(btBodys, 0, btBodys.Length);
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream());
string responseContent = streamReader.ReadToEnd();
httpWebResponse.Close();
streamReader.Close();



你可能感兴趣的:(c#学习之路,c#原创文章)