2011-01-06 75 views
1

我很感激這種情況下的一些輸入,我找不出最好的方法來做到這一點。將XML數據和用戶從Coldfusion頁面傳遞到.NET頁面

我的影片正在一個ColdFusion應用程序,並在CF應用程序內的IFrame爲我準備了一些數據,我們希望顯示一些圖表(不是嚴格意義上的圖像,它是一整頁)上的.NET側產生的東西。我想將CF數據的XML數據傳遞給.NET以及用戶。

在.NET方面,我將數據放入一個會話中,以便用戶可以篩選它,而無需重新查詢並從CF重新傳遞。

我已經試過:

  • 生成XML與CF,把它在一個隱藏的表單字段,自動提交(與JS)一個形式.NET方面。
    • 我用這種方法遇到的問題是編碼正在表單上發佈。該數據具有如<entry data="hello &amp; goodbye">的條目。這是一個問題,因爲它的URL被嵌入,發佈,並且當我在.NET端得到它時,我得到了<entry data="hello & goodbye">,這是不正確形成的XML。

我想什麼來避免:

  • 中介DB方法(丟棄在CF上的一個數據庫中的數據,使用.NET拿起它)我想只顯示傳遞給頁面的內容。我對數據有安全顧慮,它非常敏感。
  • 將數據傳遞到Web服務,返回一個GUID,轉發給用戶一個URL參數來訪問數據的傳遞。我認爲如果有人發現有關該數據的鏈接,那將會很危險。我不能冒這個風險。

我正在考慮用JSON傳遞數據,但我對它很陌生。思考?

感謝您的時間夥伴。

回答

1

你可以做你正在使用的隱藏字段做什麼以及對事物的.NET側解碼:

string xmlStuff = Request.Form["thexml"]; 
StringWriter sw = new StringWriter(); 
HttpUtility.HtmlDecode(xmlStuff, sw); 
string decodedXMLStuff = sw.ToString(); 

這一切就是這麼簡單!從那裏你可以加載這個xml字符串到XDocument,或者你正在使用的任何東西。

+1

順便說一句 - 根據您的安全需求,當然您需要使用表單方法POST並且使用HTTPS。坦率地說,我不確定你爲什麼不喜歡DB的想法......這是最安全的。此外,您可以簡單地讓.net生成/拉取所需的數據,而不是通過CF來執行額外的步驟。 – Patches 2011-01-06 18:51:33

相關問題