2
A
回答
0
如果你想在URL中傳遞所需的連接,我認爲你唯一的選擇是創建兩個DataServiceHosts。
http://server/datasource1/service.svc
和
http://server/datasource2/service.svc
1
它應該是很簡單的有一個重寫方法,您可以使用它創建一個數據源。
//
// Summary:
// Creates a data source of the template class that will be used by the data
// service.
//
// Returns:
// An instance of the data source.
protected virtual T CreateDataSource();
重寫它應該看起來像這樣。
protected override MyModel CreateDataSource()
{
MyModel modal = new MyModal();
return modal;
}
這樣就可以使用不同的連接字符串創建數據源。
下面我已經添加了一些可以將這些信息傳遞給DataService的事情列表,以便您可以隨時更改數據源的連接。
1.請求頭
您可以在客戶端通過額外的信息,數據服務,如果您訂閱的SendingRequest的DataServiceContext,它允許你額外的請求頭添加到您的Web請求。一旦你這樣做了,例如你可以通過訪問CreateDataSource方法上的System.Web.HttpContext.Current.Request.Headers來讀取它們。
如果能夠訪問內部的IDataService接口,就可以獲得所需的所有信息,這樣做會很不錯。
2.查詢字符串
另一個與出做SendingRequest和頭部的方法是添加一個查詢參數,你可以在特定的值檢查,並相應地初始化數據源。
3.身份
您可以使用用戶憑據來選擇你要使用的數據源。
這些僅僅是關於如何實現這種數據源選擇的想法。
你可以做很多事情上面我希望這回答你的問題的戰略,它可以幫助你解決問題
PS:只要你通過「更改數據源」的意思是變化上面的模型到另一個數據庫的連接字符串將工作。
0
嘗試覆蓋DataService類中的CreateDataSource函數。
這將允許您使用任何連接字符串創建自己的數據源。
相關問題
- 1. 其數據源是另一個WCF數據服務的WCF數據服務
- 2. WCF/WCF數據服務/ WCF RIA服務
- 3. WCF數據服務
- 4. 與WCF Web服務作爲數據源
- 5. 平WCF數據服務或WCF服務
- 6. WCF數據服務與WCF RIA服務
- 7. ASP.NET與WCF數據服務或WCF數據服務
- 8. WCF數據服務沒有刷新從數據庫更新更改
- 9. 保護WCF數據服務元數據
- 10. WCF服務,WCF RIA服務和WCF數據服務的區別
- 11. 更改數據源
- 12. Asynch WCF數據服務/ OData
- 13. WCF數據服務5.0
- 14. WCF數據服務ADDOBJECT
- 15. WCF數據服務和ChangeInterceptor
- 16. VerificationException與WCF數據服務
- 17. WCF數據服務和MSMQ
- 18. WCF數據服務與WebAPI
- 19. wcf數據服務5.1.0 rc
- 20. WCF數據服務ODATA
- 21. WCF服務緩存數據?
- 22. Dojo + WCF數據服務+ OData
- 23. SOA和WCF數據服務
- 24. 安裝WCF數據服務
- 25. WCF數據服務異常
- 26. WCF數據服務認證
- 27. WCF數據服務FTP
- 28. 加載數據,WCF服務
- 29. WSO2 + WCF數據服務
- 30. WCF數據服務會話