是否可以轉儲/保存內存對象,以便轉儲包含狀態和方法,然後通過線路傳輸它。我主要使用C#,但如果這可以在其他技術中完成,那應該是好的。如何轉儲內存對象並將其傳輸?
0
A
回答
1
「轉儲包含方法」,這將取決於語言和運行時間很多。
在典型的靜態類型OO語言中,對象的方法由其類型決定,因此只需要爲該類型發送標識符(假設接收方安裝了相同的代碼)。收件人僅實例化該類型的空白對象並使用接收的數據填充它。
「發送方法」可能意味着所有類型的事情:與收件人協商,看他們是否有某些程序集(編譯代碼),如果沒有,則發送它們(或告訴它從某處下載),然後發送數據用來實例化對象。自動執行此操作通常會帶來巨大的安全風險!因此它很少自動發生。
這實際上是一個Web服務器向您發送視頻的方式。如果您沒有所需的插件,它會讓您下載它,然後向您發送數據以實例化插件的一個實例。
使用JavaScript等非常動態的語言,代碼和數據之間的分工更加無縫。下面的聲明大致相當於一個方法的對象:
{
counter: 5,
increment: function() { this.counter++; }
}
文本的這段代碼可以通過網絡發送出去,然後接收方可以使用eval
把它變成一個實際的對象:
c.increment();
c.increment();
alert(c.counter); // displays 7
同樣,這基本上是現代網頁的內容:聲明結構(HTML)和小塊可執行腳本的組合,它們通過互聯網發送。
相關問題
- 1. R:存儲mutliline html文本並將其作爲對象傳遞
- 2. 如何創建JSon對象並將數據存儲在其中
- 3. 將.NET對象存儲到內存並在退出後將其留在那裏
- 4. 如何將pdf內存流式傳輸到HTML對象
- 5. 如何將內存核心數據存儲轉儲到NSData對象?
- 6. 上傳文件並直接將其流式傳輸到磁盤,而不會將其存儲在內存中
- 7. 如何將圖像轉換爲base64並將其存儲在本地存儲中
- 8. 如何保存自定義對象數組並將其存儲在NSUserDefaults的 - iPhone
- 9. 如何將JavaScript對象存儲爲數據屬性並對其進行編輯
- 10. 創建進程並將其內存轉儲爲字符串
- 11. 如何將stl對象存儲在共享內存(C++)中?
- 12. 如何將對象存儲在內存中 - Java(C++)
- 13. 如何上傳圖像並將其存儲在數據庫中?
- 14. 如何上傳文件並將其存儲在mongodb中?
- 15. 如何傳遞數組並將其返回給存儲過程?
- 16. 如何標準::矢量對象複製到其內部存儲
- 17. MIPS如何存儲用戶輸入並將其打印出來
- 18. 如何將某些內容保存到列中並將其讀回對象
- 19. 以dd/MM/yyyy轉換日期並將其存儲在DateTime對象中
- 20. 如何存儲Oracle數據庫,並將其轉換到MSACCESS/EXCEL
- 21. 檢索以.json對象並將其存儲在變量
- 22. 如何處理引用其他存儲對象的存儲對象?
- 23. 如何搜索網站內容並將其存儲在Excel中?
- 24. 拍攝照片並將其存儲到內部存儲器
- 25. 如何創建一萬個對象並將其存儲在一個HashMap中
- 26. 如何下載S3對象並將其存儲在服務器上
- 27. 如何創建一個對象數組並將其存儲在一個cookie中
- 28. 如何細分UIBezierPath並將其存儲在兩個不同的對象中
- 29. 如何傳遞JSON數據並將其轉換爲WebSerivce中的對象
- 30. 如何通過Sharp SSH庫傳輸內存流對象?
搜索「序列化」,您可以傳輸對象的狀態,但它的定義必須已經存在於主機上 – fabrizioM 2010-04-15 07:15:44
序列化將只保存狀態,而不是方法。我的意圖是轉移一個完整的對象,以便接收者可以調用它知道的方法。接受者對該對象沒有任何其他的東西。序列化在這種情況下不會有幫助。 – Kapil 2010-04-15 07:27:35
如何序列化數據,然後通過包含函數的程序集完成數據發送;-)這實際上就是您要求的。 – dnolan 2010-04-15 07:40:33