
VB.NET(2010)でwebの親画面からバッチプログラムを起動しています。
起動先(子)ではフィールド定義しているのですが、これってWeb サーバーに同時アクセスしてくる多数のユーザーと競合(共有)してしまうのでしょうか?
#■質問
例、AさんとBさんが同時期に起動したとして・・・
・Aさんが実行 ("User-A")
・その後Bさんが実行 ("User-B")
Q1. この場合、他のユーザーと変数を共有してしまうのでしょうか?
つまりAさんのstrUserIDの中身は"User-B"に変わっている?
Q2. そもそもAさんとBさんは変数を共有しているのでしょうか?
個人的にはまったくの別物で、競合はしないと思うのですが・・・
同じPCならまだしも、別のパソコンからだし
これはマルチスレッドとは言わないと思うのですが
ご教授願います。
#■親
Dim DwnldBat As New MyChildClass() ' バッチプログラム
Dim DwnldThread As New Threading.Thread(New Threading.ThreadStart(AddressOf DwnldBat.Main))
'受け渡し情報
With DwnldBat
.strSyoriNo = Format(intNo, "000")
.strKaisiDT = dt.ToString("yyyy/MM/dd HH:mm:ss")
.strUserID = Session("UserId").ToString
.Path = Request.MapPath(Request.ApplicationPath & "/download")
End With
Sumtbl.Dispose()
DwnldThread.Start() '--- バッチプログラムの起動
#■子
Public Class MyChildClass
Public strUserID As String = "" ' ユーザID
Public strSyoriNo As String = "" ' 処理番号
Public strKaisiDT As String = "" ' 開始日時
Private recNo As Long 'レコード番号
Public Sub Main()
・・・・・
end



回答1件
あなたの回答
tips
プレビュー