2017-07-26 33 views
1

我正在致力於在ASP.Net Web API中使用Microsoft公共數據服務SDK方法。當我創建與常用數據服務的連接時,它會提示用azure ID登錄,但登錄後它不會返回對Web API的響應以進一步繼續。在asp.net web api中使用Microsoft公共數據服務SDK

當我在控制檯應用程序中使用SDK方法時,此工作正常,我可以從控制檯應用程序對CDS數據庫執行CRUD操作。

請建議如何在ASP.Net web API中使用SDK方法?我想避免登錄提示,因爲我的應用程序是一個將在後臺運行的Web API服務,並且不會有用戶交互。有沒有辦法在配置文件或代碼中定義登錄憑據以避免登錄提示?

感謝

+0

HI Rahul,你有沒有找到這個解決方案?文檔缺乏 – Bassie

回答

3

我知道我有點晚了,但我想我會回答別人運行到同樣的問題。

如果按照寫在微軟文檔當前的說明,你就會有一個包含所有讓您與您的CDS環境交互所需的必要值的App.config文件結束。問題是,如果包含通常會提示您輸入的用戶憑據並將UserSource的值更改爲LoggedIn,則系統仍會提示您登錄。將值存儲在App.config文件中也不能使其成爲理想選擇一個ASP.NET項目。

那麼你可以做的反而是創建ConnectionSettings類自己的實例,並提供所有必要的憑證。

var settings = new ConnectionSettings 
{ 
    Credentials = new UserCredentialsSettings 
    { 
     UserName = _userName, 
     Password = _password, 
     ApplicationId = _applicationId 
    }, 
    EnvironmendId = _environmentId, 
    Tenant = _tenant 
}; 

using (var client = settings.CreateClient().Result) 
{ 
    // Write calls to the CDS here 
} 

使用這種方法會阻止您收到提示登錄。它還允許你存儲和使用ConfigurationManager.AppSettings訪問您的憑據,因此很容易讓你的源代碼之外的憑據。

相關問題