亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

Winform實現調用asp.net數據接口實例

2020-01-24 02:21:01
字體:
來源:轉載
供稿:網友

本文實例講述了Winform實現調用asp.net數據接口的方法,分享給大家供大家參考。具體實現方法如下:

一、問題:

最近一個WPF項目需要改寫成android項目,思路是在asp.net項目中編寫一個通用接口,便于其它平臺下調用數據。剛接觸到這些東西的時候完全是一頭霧水,最根本的原因是不明白網站中的一個網頁,為什么其它項目就可以訪問它,并獲取數據。帶著疑問在asp.net項目編寫一個簡單的數據接口,并新建一個小winform項目直接訪問它。

二、解決方法:

在asp.net項目中編寫一個數據接口,使用反射辨別響應的方法;以及獲取接口的數據。

這里僅僅是介紹如何使用它們,而不講述使用它們的基本原理,感興趣的朋友可以在查閱相關資料的基礎上做進一步的研究。

三、主要內容:

1、asp.net項目下編寫數據接口

2、使用反射分辨調用方法

3、新建一個winform項目測試接口的正確性

現分述如下:

1、在asp.net項目下編寫一簡單接口

編寫一個方法,構造一個json字符串Response即可。代碼如下:

復制代碼 代碼如下:
private void ExamInfoLogin()
{
    string aa = "8";
    string bb = "9";

    string roomName = Request.Form["RoomName"];
    if (roomName == "806")
    {
 aa = "7";
    }          
   
    StringBuilder jsonStringBuilder = new StringBuilder();
    jsonStringBuilder.Append("{");
    jsonStringBuilder.Append("/"UName/":/"").Append(aa).Append("/",");
    jsonStringBuilder.Append("/"Password/":/"").Append(bb).Append("/"");
    jsonStringBuilder.Append("}");
    Response.Write(jsonStringBuilder.ToString());
}

2、使用反射選取調用方法

假設在aspx頁面中有很多方法,而在使用過程中往往僅需要調用其中的某一個方法,此處用反射選取調用方法。

反射過程中使用的常量:

復制代碼 代碼如下:
private const string PAGE_PATH_INFO = "/AppDataInterface/ExamLogin.aspx";//頁面
private const string ASSEMBLY_NAME = "OSCEWEB";//程序集
private const string CLASS_NAME = "OSCEWEB.AppDataInterface.ExamLogin";//類名

重寫OnInit方法:

復制代碼 代碼如下:
protected override void OnInit(EventArgs e)
{
    string pathInfo = Request.Params["PATH_INFO"];
    if (pathInfo.StartsWith(PAGE_PATH_INFO + "/"))
    {
 string[] nameList = pathInfo.Substring(PAGE_PATH_INFO.Length + 1).Split('/');
 if (nameList.Length < 1)
 {
     Response.End();
     return;
 }

 try
 {
     Assembly assembly = Assembly.Load(ASSEMBLY_NAME);
     Type type = assembly.GetType(CLASS_NAME);
     MethodInfo method = type.GetMethod(nameList[0], System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
     method.Invoke(this, null);
 }
 catch (Exception ex)
 {
     Response.End();
     return;
 }
    }
}

在Page_Load方法中添加:

復制代碼 代碼如下:
if (Request.Params["PATH_INFO"].StartsWith(PAGE_PATH_INFO + "/"))
{
 Response.End();
}

3、新建一Winform項目,訪問asp.net中數據接口

發布asp.net項目,網址:http://192.168.4.22:8005

1)無需向數據接口傳遞數據:

復制代碼 代碼如下:
private void button1_Click(object sender, EventArgs e)
{
    string strURL = "http://192.168.4.22:8005/AppDataInterface/ExamLogin.aspx/ExamInfoLogin";
    request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
    response = (System .Net.HttpWebResponse )request .GetResponse ();

    System.IO.StreamReader streamReader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8);
    string responseText = streamReader.ReadToEnd();
    streamReader.Close();
    MessageBox.Show(responseText);
}

得到的數據是:{"UName":"8","Password":"9"}

2)以post方式向數據接口傳遞數據,獲取接口數據

復制代碼 代碼如下:
private void button2_Click(object sender, EventArgs e)
{
    string strURL = "http://192.168.4.22:8005/AppDataInterface/ExamLogin.aspx/ExamInfoLogin";

    request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
    request.Method = "POST";
    request.ContentType = "application/x-www-form-urlencoded";
    string param = "RoomName=806";
    ASCIIEncoding encoding = new ASCIIEncoding ();
    byte[] data = encoding.GetBytes(param);
    request.ContentLength = data.Length;
    System.IO.Stream stream = request.GetRequestStream();
    stream.Write(data, 0, data.Length);
    stream.Close();

    response = (System.Net.HttpWebResponse)request.GetResponse();
    System.IO.StreamReader streamReader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8);
    string responseText = streamReader.ReadToEnd();
    streamReader.Close();
    MessageBox.Show(responseText);
}

得到的數據:{"UName":"7","Password":"9"}

4、總結

按照上述介紹的一些方法可以完成項目,對此感興趣的朋友可以動手實踐一下,相信會有新的收獲!希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
激情成人中文字幕| 欧美视频二区36p| 在线成人中文字幕| 午夜精品99久久免费| 欧美性生交大片免费| 亚洲欧美中文在线视频| 精品人伦一区二区三区蜜桃免费| 亚洲国产婷婷香蕉久久久久久| 亚洲欧美日韩天堂| 欧美激情在线播放| 亚洲国产成人91精品| 欧美国产在线视频| 亚洲色图偷窥自拍| xvideos国产精品| 狠狠色狠色综合曰曰| 国产精品成久久久久三级| 欧美中文字幕在线观看| 日韩免费av一区二区| 日韩欧美高清在线视频| 精品国产成人av| 久久久久久香蕉网| 欧美日韩福利电影| 97在线观看免费| 黄色一区二区三区| 亚洲综合精品一区二区| 亚洲精品不卡在线| 久久精品国产99国产精品澳门| 92看片淫黄大片欧美看国产片| 91久久久久久| 国产精品久久久久久av福利| 国产一区二区三区网站| 亚洲欧美中文日韩在线| 久久乐国产精品| 亚洲黄色在线观看| 中文字幕日韩欧美在线| 日韩精品电影网| 欧美美最猛性xxxxxx| 国产精品一区二区三区久久久| 日本电影亚洲天堂| 成人天堂噜噜噜| 国产日本欧美在线观看| 精品亚洲精品福利线在观看| 欧美高清视频在线| 欧美亚洲国产另类| 大桥未久av一区二区三区| 国产欧美最新羞羞视频在线观看| 欧美性猛交丰臀xxxxx网站| 一区二区欧美在线| 国产日韩欧美视频| 国产suv精品一区二区三区88区| 啊v视频在线一区二区三区| 亚洲成人在线网| 欧美激情伊人电影| 欧美视频在线免费看| 日本精品久久久久影院| 一区二区三区回区在观看免费视频| 欧美日韩福利视频| 亚洲va码欧洲m码| 中文字幕日韩欧美在线视频| 亚洲精品成人免费| 日韩欧美在线免费| 一本久久综合亚洲鲁鲁| 最好看的2019年中文视频| 97久久精品人搡人人玩| 国产精品极品美女在线观看免费| 欧美色视频日本版| 国产精品视频免费在线观看| 欧美与黑人午夜性猛交久久久| 亚洲精品女av网站| 97人洗澡人人免费公开视频碰碰碰| 亚洲嫩模很污视频| 日韩精品在线看| 欧美丝袜美女中出在线| 欧美电影免费看| 亚洲精品美女在线观看播放| 欧美一级片一区| 成人午夜小视频| 久久久999精品视频| 成人黄色免费网站在线观看| 91精品久久久久久久久不口人| 国产精品视频播放| 欧美一级大片在线免费观看| 亚洲精品美女久久久久| 国产日韩欧美另类| 久久噜噜噜精品国产亚洲综合| 中文字幕亚洲欧美日韩高清| 亚洲最大av网| 亚洲一级片在线看| 欧美电影免费观看电视剧大全| 在线观看日韩www视频免费| 亚洲男人天堂古典| 日产精品久久久一区二区福利| 国产欧美 在线欧美| 久久视频在线播放| 97视频在线观看视频免费视频| 国产精品美女久久久久久免费| 久久精品国产69国产精品亚洲| 91精品国产综合久久香蕉922| 最近2019免费中文字幕视频三| 青草青草久热精品视频在线网站| 久久久久久久久久久av| www高清在线视频日韩欧美| 日韩中文字幕亚洲| 78m国产成人精品视频| 在线免费观看羞羞视频一区二区| 自拍偷拍免费精品| 日本人成精品视频在线| 国产成人精品999| 九九精品在线观看| 中文字幕亚洲欧美日韩高清| 国产日产欧美a一级在线| 久久躁日日躁aaaaxxxx| 成人亚洲激情网| 91久久国产综合久久91精品网站| 亚州欧美日韩中文视频| 国产一区香蕉久久| 欧美激情精品久久久| 精品日韩中文字幕| 欧美午夜片欧美片在线观看| 欧洲美女7788成人免费视频| 成人免费网站在线观看| 成人午夜在线影院| 97久久超碰福利国产精品…| 一区二区欧美久久| 国产婷婷色综合av蜜臀av| 欧洲成人免费视频| 狠狠躁夜夜躁人人躁婷婷91| 日本一区二区不卡| 91午夜理伦私人影院| 亚洲综合精品一区二区| 一区二区三区美女xx视频| 国产精品igao视频| 国产性猛交xxxx免费看久久| 欧美天天综合色影久久精品| 色婷婷综合久久久久中文字幕1| 欧美日韩成人免费| 亚洲人成伊人成综合网久久久| 91精品免费久久久久久久久| 国产一区二区日韩精品欧美精品| 成人免费网站在线观看| 国产精品免费看久久久香蕉| 中文字幕亚洲欧美日韩在线不卡| 不卡在线观看电视剧完整版| 成人精品在线观看| 97成人精品视频在线观看| 国产aⅴ夜夜欢一区二区三区| 91免费人成网站在线观看18| 久久久久久久久中文字幕| 亚洲视频国产视频| 日韩在线免费高清视频| 91精品国产91久久| 69久久夜色精品国产7777| 久久久国产91| 欧美精品激情在线| 日韩一级裸体免费视频| 国产一区二区三区在线播放免费观看| 欧美性猛交丰臀xxxxx网站| 深夜福利国产精品| 国产成人鲁鲁免费视频a| 国产精品777| 2018国产精品视频| 欧美成人精品一区| 国产精品美女主播| 亚洲精品电影网在线观看|