我有一個ASP.NET Web API 2.0 OData服務項目,我試圖通過服務參考+ WCF數據服務(5.6)通過ASP.NET MVC項目 - 我這樣做的原因是,用戶瀏覽器可以訪問服務而無需擔心IE8和IE9的CORS,因此它們將擁有相同的主機。試圖將WCF數據服務用作另一個OData服務的中繼
一些修修補補後,這種設置主要是工作但也有一些問題,我的設置:
服務項目
1)的ASP.NET Web API 2.0的OData端點
2)WCF數據服務5.6使用WCF數據服務實體框架提供程序(1.0.0-alpha-2)的OData端點+實體框架6.0.2(EntityFrameworkDataService <DBContext>)
當我直接訪問無論是通過服務參考,LINQPad還是原始URL,他們都可以完美地執行這些服務。然後,我設置了ASP.NET MVC項目:
ASP.NET MVC項目(中繼上述服務引用):WCF數據服務5.6(DataService的<服務引用-1或2 >)
的問題來了當我嘗試對WCF服務的查詢作爲中繼相同:
中繼(1)$ inlinecount =所有頁給我:「在處理這個要求時發生錯誤。」
中繼(1 )和(2)與$ select = ...都給我:「未實現」。
當我通過反射提供程序傳遞虛擬POCO上下文時,所有操作都完美地在中繼WCF數據服務上工作,這導致我懷疑問題在於WCF數據服務和服務參考的組合,因爲他們都可以獨立工作,沒有任何問題......也許WCF數據服務正在檢查LINQ Provider以獲取服務引用,並隨意決定它不支持這些操作? 我可以活着沒有$ select但沒有$ inlinecount是一個交易斷路器。我可以採取一些替代解決方案,但我真的希望使這種方法有效:任何想法?