C Post接收傳送XML

2021-06-28 11:01:51 字數 2022 閱讀 9533

專案分成兩個 web(asp.net)使用者處理請求,客戶端(wpf/winform)傳送請求

1.web專案

有兩個頁面

sendpost.aspx(單純傳送資料給客戶端)

**:public partial class sendpost : system.web.ui.page}}

accept.aspx(接收資料並反饋傳送會客戶端)

protected void page_load(object sender, eventargs e)

}2.客戶端專案:

乙個處理post類

public class posthelp

public string postxml(string url, string strpost)

return result;}}

乙個xml處理類

public class xmlhelp

set

}private string _fpath = "";

public string fpath

set

}///

/// 初始化資料檔案,當資料檔案不存在時則建立。

///

public void initialize()

else

this._document = xdocument.load(this._fpath);

}public void initialize(string xmldata)

///

/// 清空使用者資訊

///

public void clearguest()

else

root.add(new xelement("entity", string.empty));

}///lyj 修改

///

/// 提交並最終儲存資料到檔案。

///

public void commit()

catch (exception ex)

}///

/// 更新

///

public void updateqrstate(string pid, string state)

}public ienumerablegetxelement()

public datatable getentitytable()

datarow dr = dtdata.newrow();

int i = 0;

foreach (xelement item in elements)

dtdata.rows.add(dr);

return dtdata;}}

因為我這裡用的是linq操作xml所以多乙個轉換xml類

public static class xmldocumentextensions

public static xdocument toxdocument(this xmldocument document, loadoptions options)}}

客戶端加個按鈕,按鈕**

private void button5_click(object sender, routedeventargs e)

**很多,思路雖然有寫在注釋裡,但是還是不夠清楚,我這裡重新說一下

1.首先是post請求傳送原理,客戶端請求乙個request,並把內容加到request中,傳送到指定路徑的頁面,頁面得到請求,返回資料,客戶端再基於剛剛的request去getresponse()得到返回資料

2.另外乙個是xml的操作,包括讀取xml,把xml轉成字串用於傳送,得到返回內容,儲存到本地xml,再讀取本地的xml,輸出xml裡面的值

這裡再提一下:想除錯web,必須用vs自帶的iis虛擬器,在web專案設定個斷點,然後執行,客戶端請求的request的時候,web就會自動斷到斷點,就可以除錯啦。

不過用vs自帶的虛擬器,會經常出現連線已斷開的問題,等你除錯好後,直接放到iis中,或者不用vs自帶的iis虛擬器,直接設定專案指定到iis位置,這種錯誤就不會出現了!

C Post 接收或傳送XML

專案分成兩個 web asp.net 使用者處理請求,客戶端 wpf winform 傳送請求 1.web專案 有兩個頁面 sendpost.aspx 單純傳送資料給客戶端 public partial class sendpost system.web.ui.page accept.aspx 接收...

readn writen 接收 傳送 方法封裝

通常檔案的i o與位元組流套接字上的read和write函式所表現的行為不一樣,有時候位元組流套接字上呼叫read和write返回的位元組數可能比請求的大小要小,而這樣並不表示乙個錯誤,如果在核心中用於套接字的緩衝區滿了達到上限了,這時候就需要再次呼叫read或write函式,因此封裝了如下的兩個小...

C BlueTooth 連線 接收 傳送檔案

public partial class form1 form recdir environment.getfolderpath environment.specialfolder.desktop labelrecdir.text recdir private void buttonselectbl...