簡體   English   中英

性能明智的最佳方式將XML數據發送到C#中的php文件

[英]Performance wise Best way to send xml data to php file in c#

我有一個XML文件,我希望它發送php頁面以將其寫入mysql數據庫。

例如,我有一個名為data的類,該類幾乎沒有屬性。 然后將這些對象值以xml文件的形式保存在本地緩存中,如下所示:

<data>
   <value1></value1>
   <value2></value2>
   ..........
</data>

所以我想將這些數據發送到mysql數據庫。 我的服務器端使用php,而我是php的新手。 那么發送這些數據的最佳方法是什么。

  1. 通過數據訪問對象將這些值作為參數發送(C#)

字符串數據=“&value1 =” + d.value1 +“&value2 =” + d.value2 ........;

2.直接將xml文件發送到php頁面,並在php文件中讀取xml文件並獲取所需數據

發送這些數據的最佳方法是什么? (明智的表現)

答案可能是“取決於”。

  1. 您的XML結構有多復雜,在服務器端(PHP)上解析它有多容易? 如果XML本身相對簡單,並且參數的數量不太可能急劇增加,則可以考慮將其作為URL的一部分發送。 但是,如果XML會發生變化並變得更加復雜,您可能最終會不斷發明出使用這種方法將XML轉換為URL參數的方法。

  2. 將XML直接發送到服務器端可能更容易,因為您無需將XML轉換為URL參數。 此外,您無需關心XML的大小,而需要使用URL查詢參數-URL的長度不得超過2083個符號

另外,如果您使用URL參數方法,請注意字符串連接-您需要轉義數據值,例如,使用Uri.EscapeDataString方法。

在性能方面,需要考慮三個方面:

  1. 如果沒有太多的URI轉義,並且參數具有相當瑣碎的值(即,大多數是數字/ ASCII字符),則由於使用HTTP GET而不是HTTP POST以及傳輸的數據量較少,因此參數的傳輸速度可能更快。 但是,傳輸收益將被XML轉換為參數的成本所抵消,盡管對於小型XML而言可以忽略不計。

  2. 如果XML結構復雜並且數據中的值具有任意長度,那么在某些情況下,將XML轉換為URL參數可能會效率低下甚至無法實現。 如果最終使用HTTP POST而不是HTTP GET,則對參數的轉換是否有意義毫無疑問。

  3. 服務器端對XML的解析可能比URL參數的解析要慢。 但是,這是有問題的,需要適當的度量。

最后,建議您考慮一下-在開發的這一點上,為什么如此低級的性能會讓您感興趣? 您是否存在一些性能問題,並且發現瓶頸就這么小? 在這里查看Eric Lippert撰寫的有關性能的出色文章 最好采用最直接的解決方案(即最容易編碼和維護)並在以后評估性能問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM