การใช้ระยะไกลในการพัฒนาโครงการ และบริการร้องขอข้อมูลทั้งหมดจะเสร็จสมบูรณ์ผ่าน Remoting ดังนั้นจึงมีขั้นตอนการจัดเก็บไว้สำหรับการส่งผ่านพารามิเตอร์ หลังจากที่พารามิเตอร์ถูกสร้างขึ้นในตรรกะทางธุรกิจแล้ว พารามิเตอร์จะถูกส่งไปยังเซิร์ฟเวอร์ Remoting จากนั้น ถูกนำออกแล้ว มีข้อผิดพลาดเกิดขึ้นเมื่อตั้งค่าพารามิเตอร์ของขั้นตอนที่เก็บไว้ ฉันจำข้อผิดพลาดเฉพาะไม่ได้ และปัญหาได้รับการแก้ไขแล้ว ตัวอย่างมีดังนี้
ส่วนต่อไปนี้คือตัวเรียกไคลเอ็นต์
1//ประกาศพารามิเตอร์ก่อน
2 สตริง const ส่วนตัว PARAM_GUID = "@GUID";
3 สตริง const ส่วนตัว PARAM_VGA_TREEGUID = "@VGATreeGUID";
4 สตริง const ส่วนตัว PARAM_MB_TREEGUID = "@MBTreeGUID";
5
6 สาธารณะสตริงคงที่ GetProductTypeByGUID (สตริง GUID, สตริง VGATreeID, สตริง MbTreeID)
7 {
8 ลอง
9 {
10 int lcID = Thread.CurrentThread.CurrentUICulture.LCID;
11
12 BaseModel bt = BaseModel ใหม่ ();
13
14 //สร้างตารางแฮชและกดพารามิเตอร์ตามลำดับ
15 พารามิเตอร์ Hashtable = ใหม่ Hashtable();
16 พารามิเตอร์เพิ่ม (PARAM_PROGUID, GUID);
17 พารามิเตอร์เพิ่ม (PARAM_VGA_TREEGUID, VGATreeID);
18 พารามิเตอร์เพิ่ม (PARAM_MB_TREEGUID, MbTreeID);
19
20 //ส่งชื่อโพรซีเดอร์ที่เก็บไว้และตารางแฮชพร้อมพารามิเตอร์
21 DataAccess.DataBase.RunProcedureDataSet(lcID, "GetProductTypeByTreeID", พารามิเตอร์, อ้างอิง bt);
ยี่สิบสอง
23 กลับ bt.Rows[0]["ProductType"].ToString();
ยี่สิบสี่ }
25 จับ (ยกเว้นตัวอย่าง)
26 {
27 CommFunction.WriteErrorLogFile("สตริงสาธารณะ GetProductTypeByGUID (stirng GUID, สตริง VGATreeID, สตริง MbTreeID) ข้อผิดพลาด: " + ex.Message);
28 ส่งคืน "อื่น ๆ ";
29 }
30}
31
32
ต่อไปนี้เป็นฝั่งเซิร์ฟเวอร์:
1 การสืบค้นโมฆะสาธารณะ (int lcid, สตริง SQLString, Hashtable cmdHashtable, การอ้างอิง BaseModel baseModel) # แบบสอบถามโมฆะสาธารณะของภูมิภาค (int lcid, สตริง SQLString, Hashtable cmdHashtable, การอ้างอิง BaseModel baseModel)
2 // ----------------------------------------------- --- ----------------------------------------------
3 แบบสอบถามสาธารณะเป็นโมฆะ (int lcid, สตริง SQLString, Hashtable cmdHashtable, อ้างอิง BaseModel baseModel)
4 {
5 ถ้า (!CheckRemotingClient())
6 {
7 กลับมา;
8}
9 Console.WriteLine(DateTime.Now.ToString() + "Query(" + lcid.ToString() + ", สตริง SQLString, Hashtable cmdHashtable, อ้างอิง BaseModel baseModel)");
10 int i = cmdHashtable.Count;
11 //ต่อไปนี้จะสร้างพารามิเตอร์ของกระบวนงานที่เก็บไว้
12 SqlParameter[] cmdParms = SqlParameter ใหม่ [i];
13 int j = 0;
14 foreach (รายการพจนานุกรมใน cmdHashtable)
15 {
16 cmdParms[j] = ใหม่ SqlParameter(de.Key.ToString(), de.Value);
17 เจ++;
18}
19 Colourful.DBUtility.DbHelperSQL.Query (lcid, SQLString, cmdParms, ref baseModel);
20}
ยี่สิบเอ็ด // -------------------------------------------------- - ----------------------------------------------
22 #endregion
http://www.cnblogs.com/blockhead/archive/2006/08/17/479720.html