2012-08-27 148 views
2

我目前正在通過WCF數據服務(System.Data.Services)實現RESTful服務。 我的REST風格的服務託管在窗口服務中。沒有涉及IIS。wcf數據服務自託管憑證

該服務工作正常,但它無法連接到我的SQL數據庫,因爲它需要模擬。

在一個正常的WCF服務中,我可以通過訪問WindowsIdentity的ServiceSecurityContext來模擬。不幸的是,對於WCF數據服務,ServiceSecurityContext爲null,而且我沒有httpContext,因爲它託管在窗口服務中。

我目前的解決方法是在我的窗口服務設置一個固定的憑據。雖然這對開發很好,但它不被生產所接受。

是否有可能獲得調用者的身份,以便我可以使用身份到sql服務器?如何?

回答

1

您可以嘗試使用: System.ServiceModel.OperationContext.Current.ServiceSecurityContext.WindowsIdentity