2013-07-13 24 views
0

我正在寫一個類,它將用於將數據發佈到twitter。有人可以澄清,如果這個功能是安全的共享?當一個函數不安全被分享時,仍然難以掌握。,不幸的是......!.NET中的這個函數是否安全共享?

它將返回一個基本字典,然後我可能會在檢索到基本簽名後添加其他參數。

Private Shared Function createbasesignature() As SortedDictionary(Of String, String) 

    Dim oauth_nonce = Convert.ToBase64String(New System.Text.ASCIIEncoding().GetBytes(DateTime.Now.Ticks.ToString())) 
    Dim timeSpan = DateTime.UtcNow - New DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc) 
    Dim oauth_timestamp = Convert.ToInt64(timeSpan.TotalSeconds).ToString() 

    Return New SortedDictionary(Of String, String) From { _ 
{"oauth_consumer_key", ConfigurationManager.AppSettings("twitter_consumer_key")}, _ 
{"oauth_nonce", oauth_nonce}, _ 
{"oauth_signature_method", "HMAC-SHA1"}, _ 
    {"oauth_timestamp", oauth_timestamp}, _ 
{"oauth_version", "1.0"} _ 
} 
    End Function 
+2

您在詢問線程安全嗎? –

+0

這個問題似乎是離題,因爲它是關於代碼審查 – flup

+1

它可能不是線程,而是關於VB.NET中的* Shared *關鍵字。然後,很難想象有一本關於VB.NET編程的介紹性書籍,並沒有解釋它。 –

回答

1

看起來很好。你只能訪問局部變量和新創建的對象(加上DateTime.Now,但這是安全的)。所以沒有其他線程會有任何方法來破壞您正在使用的數據。