簡體   English   中英

是否可以在 Oauth 身份驗證中進行並行處理

[英]Is it possible for parallel processing in Oauth authentication

我正在嘗試使用多線程連接 CData 驅動程序。 CData中是否可以並行處理數據。

OdbcConnection conn = new OdbcConnection();
conn.ConnectionString = "xxxx";
Task task1 = Task.Factory.StartNew(() => ReadData(conn));
Task task2 = Task.Factory.StartNew(() => ReadData(conn));
Task task3 = Task.Factory.StartNew(() => ReadData(conn));
Task task4 = Task.Factory.StartNew(() => ReadData(conn));
Task task5 = Task.Factory.StartNew(() => ReadData(conn));
public static void ReadData(OdbcConnection con)
        {
                con.Open();
                // code
         }

請讓我知道它有任何解決方案。 提前致謝。

這是可能的。 如果使用 Other 屬性設置 OAuthSettingsLocation 屬性,則可以執行數據的並行處理。 您可以在 DSN 中或在無 DSN 連接中動態設置該屬性(請參閱下面的代碼示例)。

OAuthSettingsLocation - 保存 OAuth 值的設置文件的位置。 這可以是驅動程序具有讀/寫權限的磁盤上的任何位置。

使用 DSN 管理器執行 OAuth

在使用驅動程序之前,您需要對服務進行身份驗證。 為此,您可以使用 DSN 向導中的測試連接。

  1. 打開 ODBC 數據源管理器(從開始菜單中,鍵入“ODBC”)
  2. 使用驅動程序選擇或創建新的 DSN。
  3. 在其他屬性中設置 OAuthSettingsLocation 屬性,然后單擊測試連接。 (系統將提示您在新的瀏覽器窗口中對服務進行身份驗證。)

代碼示例

string driver = "CData ODBC Driver for QuickBooksOnline";
string oauthSettingsLocation = "C:/users//AppData/Roaming/CData/QuickBooksOnline ODBC Driver";
string connString = "DRIVER={" + driver + "};Other=OAuthSettingsLocation=" + oauthSettingsLocation;
Task task1 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString)));
Task task2 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString)));
Task task3 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString)));
Task task4 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString)));
Task task5 = Task.Factory.StartNew(() => ReadData(new OdbcConnection(connString)));

注意

CData Software 還制作了 ADO.NET 提供程序,可以在 .NET 應用程序中提供更原生的體驗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM