專案分成兩個 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...