我没有看到条纹API中描述的这个特定错误.有谁知道发生了什么?
这是我创建客户的VB.net代码:
Function CreateStripeCustomer(ByVal Token As String) As String
'' The Stripe Account API Token - change this for testing
Dim STR_Stripe_API_Token As String = "sk_test_SECRET_TEST_KEY" '<-- test secret key. Change to live later.
''The Stripe API URL
Dim STR_Stripe_API_URL As String = "https://api.stripe.com/v1/customers"
''Creates a Web Client
Dim OBJ_Webclient As New System.Net.WebClient()
''Creates Credentials
Dim OBJ_Credentials As New System.Net.NetworkCredential(STR_Stripe_API_Token, "MY_STRIPE.COM_PASSWORD")
''Sets the Credentials on the Web Client
OBJ_Webclient.Credentials = OBJ_Credentials
''Creates a Transaction with Data that Will be Sent …
Run Code Online (Sandbox Code Playgroud) 基本上我有一个全局变量,比如......
Dim int1 as integer
Run Code Online (Sandbox Code Playgroud)
然后我有两个异步函数,比如...
function bleh()
int1 += 1
end function
Run Code Online (Sandbox Code Playgroud)
和
function Meh()
int1 -= 1
end function
Run Code Online (Sandbox Code Playgroud)
这两个函数都由Task.Run()运行.
我想在这两个函数中使用SyncLock.但是,MSDN站点上给出的所有示例仅显示在单个函数中使用的SyncLock的示例.所以我不能简单地从MSDN描述中告诉我,对于我来说,在全局变量上跨两个不同的函数使用SyncLock是"没问题的".
我想做的是这样的:
Private Shared SyncObj as Object '<-- global
Dim int1 as integer '<-- global
Sub Form_Load(...)
SyncObj = new Object
Task.Run(Function() bleh())
Task.Run(Function() Meh())
End Sub
Function bleh()
SyncLock SyncObj
int1 += 1
End SyncLock
End Function
Function Meh()
SyncLock SyncObj
int1 -= 1
End SyncLock
End Function
Run Code Online (Sandbox Code Playgroud)
这可以吗?将bleh()阻止Meh()改变int1,反之亦然?谢谢!对不起VB大声笑.