我有一個使用Razor視圖引擎的ASP.Net項目,它目前使用WebMatrix.Data.Database.Open直接查詢各種數據庫。WebMatrix中查詢WCF服務的最佳方式是什麼?
我試圖遷移所有使用WCF的Web服務的直接數據庫訪問,以便獲得一致的業務邏輯。在這樣做的同時,我還啓用了WCF服務,使其成爲「httpGetEnabled」。這使我可以使用Excel宏來查詢同一個Web服務。
我的問題是,從Razor/WebMatrix頁面查詢這些Web服務的最佳方式是什麼?
我應該JSON啓用我的WCF服務並使用WebMatrix JSON幫助器嗎?或者我應該使用JQuery來獲取XML?
我會假設前者是最好的方法,但我如何使JSON啓用我的WCF服務?我記得看到一段視頻,它允許我爲WCF請求指定一個附加查詢參數來獲取JSON,但我無法再找到它。
任何想法或指針在正確的方向將不勝感激。
親切的問候。
編輯:
我最近看到了這對堆棧溢出: Client Side Binding using by Converting the WCF Services to JSON
在這之後,我去了周圍WebHttpBehavior提到的MSDN文章。我已經添加了「automaticFormatSelectionEnabled = true」到Web.config中的webHttp元素。此外,添加以下代碼,然後讓我來指定「格式= JSON」作爲查詢參數:
string formatQueryStringValue = WebOperationContext.Current.IncomingRequest.UriTemplateMatch.QueryParameters["format"];
if (!string.IsNullOrEmpty(formatQueryStringValue))
{
if (formatQueryStringValue.Equals("xml", System.StringComparison.OrdinalIgnoreCase))
{
WebOperationContext.Current.OutgoingResponse.Format = WebMessageFormat.Xml;
}
else if (formatQueryStringValue.Equals("json", System.StringComparison.OrdinalIgnoreCase))
{
WebOperationContext.Current.OutgoingResponse.Format = WebMessageFormat.Json;
}
}
我現在只需要找出如何使用WebMatrix的JSON助手得到的結果。 ..當我得到更多的信息時會更新。
編輯2
嗯,我不認爲幫助......現在,我可以從Web服務得到JSON,但JSON網絡助手似乎只幫助,如果你有一些JSON數據已經。我只是不確定如何獲取JSON數據,然後我可以使用JSON Helper將它轉換(解碼)爲一個類。
所以我想我現在的問題是,我如何獲得JSON數據,然後將它連接到WebMatrix/Razor以便在WebGrid中使用?
你想調用從客戶端或服務器的服務? – SLaks 2011-04-12 14:02:01
我真的沒有偏好,我想我只是想要做什麼被認爲是最好的做法... – Darren 2011-04-12 14:03:17
這完全取決於你想做什麼。 – SLaks 2011-04-12 14:12:32