成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2009年9月51CTO駐站專家桂素偉老師.NET精彩問答

原創
開發 后端
51CTO開發頻道推出“駐站專家”欄目,致力于打造專家級的用戶體驗。9月我們將請到國內.NET方面的專家桂素偉老師為大家答疑解惑,本文是9月駐站專家的經典問題總結。

2009年9月51CTO駐站專家桂素偉老師簡介

桂素偉,微軟MVP,51CTO專家堂成員。微軟中文技術論壇Visual C#、IT職業規劃談兩個版塊版主,微軟WebCast講師。精通C#,WinForm,ASP.NET,WPF,Windows Mobile等開發技術。山西DotNet俱樂部創始人之一,曾組織多次與微軟合作組織活動,并多次組織山西DotNet俱樂部線上線下活動。

點擊進入活動原帖

經典問題一

我想請問題asp.net中如何使用數據控件來處理操作復雜對象(即包對象包含子對象)。例如

流程圖

此為訂單管理的簡要類圖實現訂單的CRUD我目前的做法是,指定OrderRegister為ObjectDataSource,然后使用FormView綁定到它上面。在FormView里面放入一些TextBox可以呈現出Order的簡單類型的屬性如Date,再在FormView里面放入GridView并綁定GridView的DataSource到Order的Items上,Items是IList類型。對于查看訂單信息來說,一切都沒有問題。問題在于新增和修改訂單時在FromView中嵌套GridView就不行了。我想請問基于這種復雜對象設計,怎么實現主對象與子對象的新增和修改操作。

駐站專家桂素偉老師的精彩回答:

這樣的話,那你就得從這些對象屬性中把數據得到,靈果你用的是ADO.NET,那么就分別把這些屬性的數據分離出來,用SQL語句提交到SQL Server來執行。如果是LINQ To SQL,那就把整個實體類整合成LINQ To SQL所需要的實體類,進行Submit就可以。

后續提問:

OrderRegister是用來對Order進行CRUD的,它封裝了對數據庫的操作,至于OrderRegister的實現是Ado.net還是linqtosql都無所謂啊。問題的關鍵是在復雜對象結構的情況下,表示層采用什么樣的控件如何與OrderRegister連接。

由于我希望代碼量盡可能的少,所以在新增Order的時候也使用FormView,問題是FormView只能處理簡單屬性,而不能處理對象

總而言之,就是使用FormView綁定對象數據源來進行訂單的新增,頁面上無法對訂單里面的OrderItem進行處理。

桂素偉老師回答

是的,你在添加Order的列表時,沒有辦法實現。如果每個字段都是簡單類型就好處理,現在關鍵是你的GridView沒有法與Order列表對應,并且你在Order對象中,一個Date字段可對應一個OrderItem列表,這個列表的記錄多少都不確定,所以沒辦法在FormVIews中實現。只用放出來單獨處理了。

經典問題二

我在寫C#語言傳送文件的程序,可是在對文件操作中出現了問題。

1,服務端

定義了一個和文件大小的緩沖區,但是在以下的while循環中

  1. while (!feof(fp))   
  2. {  

用fread函數,并且獲得返回值iCount = fread(pTmp,1, flen, fp);//pTmp是緩沖區,flen是文件大小

而后通過

  1. send( m_server, pTmp, iCount , 0);發送數據   
  2. }  

2,客戶端

定義了接收指針char recvbuf[1024] = "";

以下也用了死循環

  1. while(true)   
  2. {   
  3.   memset(recvbuf, 0, 1024);   
  4.   bytesRecv = recv( m_socket, recvbuf, 1024, 0 );   
  5.   fwrite(recvbuf, 1, bytesRecv, fp1);   
  6. }  

可是我在文件fp1中打印的并不是完整,希望高手指點。 并且我想如果服務端不一次性全部傳送,而是分大小傳,比如每次只傳1024字節,又該如何處理?我嘗試了一些方法,但是都沒達到目的。

駐站專家桂素偉老師的精彩回答

你的大文件,可以一次讀進來,放在一個byte的數組中,然后你再批量分步處理這些元素就可以的。發送的時侯你考慮是多線程還是單線程,同時要考慮服務端。

經典問題三

我想請問如果想從事socket開發,那么使用。net的哪方面的控件呢,是不是也有很多托管的自動生成代碼可以省掉手寫的麻煩呀,我現在考慮從事網絡服務器相關軟件的開發,但是不知道什么開發環境是理想的選擇,望桂老師給予回答。

駐站專家桂素偉老師的精彩回答

這些通用的軟件開發平臺都支持socket 開發,有的IDE是封裝成控件,有的是封裝成類。.net 的socket 有好幾個類支持。常用的是TcpListener和TcpClient。同時還要使用到多線程的一些知識,也得熟悉一下。做成類的話,個人理解應該要靈活的多,想要什么方式的通迅,是一對多,還是一對一,還是多對多,都由自己寫代碼來完成。

【編輯推薦】

  1. 2009年8月51CTO駐站專家周金橋老師精彩問答
  2. .NET C# DES入門淺析
  3. .NET寫入文本文件的操作淺析
  4. .NET自定義控件應該如何實現?
  5. 淺析.NET 4.0和Visual Studio 2010多定向支持
責任編輯:彭凡 來源: 51CTO
相關推薦

2009-11-09 16:39:17

51CTO駐站專家

2009-09-07 10:42:16

51CTO駐站專家

2009-12-04 13:32:36

51CTO駐站專家

2010-01-19 09:53:44

51CTO駐站專家

2010-01-19 11:21:20

51CTO駐站專家

2011-10-12 21:16:19

LightSwitch

2009-12-31 16:07:00

微軟MVP

2009-09-16 14:31:19

三級網絡技術計算機等級考試

2009-09-19 11:47:03

2009年9月計算機等2009年9月等級考試

2009-09-16 14:31:19

四級網絡工程師計算機等級考試

2009-03-22 10:57:48

CCNA視頻教程下載

2009-09-16 14:29:34

三級網絡技術計算機等級考試

2009-09-16 11:02:52

四級網工技術壓軸試題

2009-04-29 14:57:28

系統分析師預測題軟考

2009-09-14 16:55:16

2012-12-04 11:04:34

2012年度IT博客大IT博客大賽博客

2011-09-15 17:07:50

開發月刊

2009-09-17 14:19:13

等級考試網絡工程師預測題答案

2009-05-24 07:37:28

軟考答案2009年上半年

2009-11-06 14:47:45

程序員軟考模擬題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品国产一区二区三区 | 成人欧美一区二区三区在线播放 | 免费av观看 | 日本午夜精品 | 久久亚洲一区二区三区四区 | 一区二区三区精品视频 | 欧美精品网站 | 国产一区二区三区色淫影院 | a级免费观看视频 | 精品国产乱码久久久久久蜜臀 | 国精产品一品二品国精在线观看 | 99爱在线观看 | 久久国产精品一区二区三区 | 欧美一级片黄色 | 国产精品久久久精品 | av不卡一区 | www.亚洲国产精品 | 一区精品视频在线观看 | 超碰导航 | 一级片网址 | 精品国产乱码久久久久久影片 | 国产精品久久久久久久久久久久冷 | 在线日韩不卡 | 国产成人影院 | 日本久久精品 | 午夜精品一区二区三区在线视频 | 毛片a级 | 国产精品视频一区二区三区四区国 | 国产免费一区二区 | 亚洲欧美日韩中文在线 | 免费一级欧美在线观看视频 | www精品美女久久久tv | 国产h视频| 国产精品精品3d动漫 | 欧洲毛片| 日韩精品在线免费观看 | 亚洲aⅴ精品 | 久久精品一区 | 夜夜骚视频 | 日韩免费一区二区 | 日韩在线成人 |