<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic ASP.Net Threading question for dual CPU Xeon.. in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/ASP-Net-Threading-question-for-dual-CPU-Xeon/m-p/913910#M4745</link>
    <description>&lt;P&gt;&lt;FONT size="2"&gt;Notes: Think .Net Managed code for all my statements below.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;I'm just starting to get into the habit of attempting to use Threading when I can within my ASP.Net Web Applications and have a little confusion that I hoped anyone could clarify.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Here is a simple implementation that I am doing right now. I have some code that writes a log record to a database and I don't want this step to impact the users web page delivery experience so I thought I would use a different Thread to do this. Ok so far so good and I began to look a the Thread class. With the Thread class I see that I can create an object and then create a new Thread. Question is for all the samples that I have seen the examples do not use populated object properties for the Thread function instance method call. In all cases it appears that they choose to use Asynch Delegate calls so I went that route. So here are m&lt;/FONT&gt;&lt;FONT size="2"&gt;y questions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;1&amp;gt;Can you instance a class and use populated properties of that class from the Thread Method Instance Call or is that a bad idea.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;2&amp;gt; Is there a way to set thread priorities on Delegate calls.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;3&amp;gt; Are there any guidelines of when to useclass instances or when to use static methods. Samples I see do not declare Public or Private on these methods but I found that it didn't seem to matter as long as the methods for the class that creates the thread is in the same class.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;4&amp;gt; I was wondering if there are any recommended best approachesor and safety considerations to take into account when using managed Multi-threaded code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;5&amp;gt; Am I really making best us of Dual CPU Xeon system?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;FYI - Here is the final code that I came up with..&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Net;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.IO;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Threading;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Runtime.Remoting.Messaging;&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&lt;SUMMARY&gt;&lt;/SUMMARY&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; Summary description for Download.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; Do
wnload : System.Web.UI.Page&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;const&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; INTERNET_EXPLORER_USER_AGENT = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705)";&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;delegate&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; SaveDownloaderInfo(StoreTheData dataToStore);&lt;BR /&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;SaveDownloaderInfo saveDownloaderInfo = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SaveDownloaderInfo(SaveData);&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;saveDownloaderInfo.BeginInvoke( &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; StoreTheData(fileName, email, referrer, from), &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; AsyncCallback(AfterSaveData), "this is state");&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; SaveData( StoreTheData storeTheData)&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; fileName = storeTheData.fileName;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; email = storeTheData.email;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; referrer = storeTheData.referrer;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; from = storeTheData.from;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; ConnectionString = GetSqlConnection();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; SqlConnection myConnection = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SqlConnection(ConnectionString);&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; SqlCommand myCommand = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SqlCommand("dbo.usp_I_RecordDownloadOfFile", myConnection);&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.CommandType = CommandType.StoredProcedure;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.CommandTimeout = 90; &lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.Parameters.Add("@fileName", SqlDbType.NVarChar, 256).Value = fileName;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.Parameters.Add("@email", SqlDbType.NVarChar, 1024).Value = email;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.Parameters.Add("@referrer", SqlDbType.NVarChar, 1024).Value = referrer;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.Parameters.Add("@from", SqlDbType.NVarChar, 1024).Value = from;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCo
nnection.Open();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.ExecuteNonQuery();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myConnection.Close();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;}&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; AfterSaveData(IAsyncResult result)&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; AsyncResult async = (AsyncResult) result;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; SaveDownloaderInfo saveDownloaderInfo = (SaveDownloaderInfo)async.AsyncDelegate;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; saveDownloaderInfo.EndInvoke(result);&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;}&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; GetSqlConnection()&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; System.Configuration.ConfigurationSettings.AppSettings["SiteSqlServer"].ToString();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;}&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;and finally&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; StoreTheData&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; fileName = ""; &lt;SPAN style="COLOR: green"&gt;//&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; email = "";&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; referrer = "";&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; from = "";&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; StoreTheData(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; FileName, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Email, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Referrer, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; From)&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; {&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;  fileName = FileName;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;  email = Email;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;  referrer = Referrer;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;  from = From;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; }&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Are there any safety considerations I should take into account..&lt;/FONT&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 17 Aug 2006 01:43:59 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2006-08-17T01:43:59Z</dc:date>
    <item>
      <title>ASP.Net Threading question for dual CPU Xeon..</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/ASP-Net-Threading-question-for-dual-CPU-Xeon/m-p/913910#M4745</link>
      <description>&lt;P&gt;&lt;FONT size="2"&gt;Notes: Think .Net Managed code for all my statements below.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;I'm just starting to get into the habit of attempting to use Threading when I can within my ASP.Net Web Applications and have a little confusion that I hoped anyone could clarify.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Here is a simple implementation that I am doing right now. I have some code that writes a log record to a database and I don't want this step to impact the users web page delivery experience so I thought I would use a different Thread to do this. Ok so far so good and I began to look a the Thread class. With the Thread class I see that I can create an object and then create a new Thread. Question is for all the samples that I have seen the examples do not use populated object properties for the Thread function instance method call. In all cases it appears that they choose to use Asynch Delegate calls so I went that route. So here are m&lt;/FONT&gt;&lt;FONT size="2"&gt;y questions.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;1&amp;gt;Can you instance a class and use populated properties of that class from the Thread Method Instance Call or is that a bad idea.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;2&amp;gt; Is there a way to set thread priorities on Delegate calls.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;3&amp;gt; Are there any guidelines of when to useclass instances or when to use static methods. Samples I see do not declare Public or Private on these methods but I found that it didn't seem to matter as long as the methods for the class that creates the thread is in the same class.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;4&amp;gt; I was wondering if there are any recommended best approachesor and safety considerations to take into account when using managed Multi-threaded code.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;5&amp;gt; Am I really making best us of Dual CPU Xeon system?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size="2"&gt;FYI - Here is the final code that I came up with..&lt;/FONT&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Net;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.IO;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Threading;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Runtime.Remoting.Messaging;&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&lt;SUMMARY&gt;&lt;/SUMMARY&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; Summary description for Download.&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: gray"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: green"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; Do
wnload : System.Web.UI.Page&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;const&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; INTERNET_EXPLORER_USER_AGENT = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705)";&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;delegate&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; SaveDownloaderInfo(StoreTheData dataToStore);&lt;BR /&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;SaveDownloaderInfo saveDownloaderInfo = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SaveDownloaderInfo(SaveData);&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;saveDownloaderInfo.BeginInvoke( &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; StoreTheData(fileName, email, referrer, from), &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; AsyncCallback(AfterSaveData), "this is state");&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; SaveData( StoreTheData storeTheData)&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; fileName = storeTheData.fileName;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; email = storeTheData.email;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; referrer = storeTheData.referrer;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; from = storeTheData.from;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; ConnectionString = GetSqlConnection();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; SqlConnection myConnection = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SqlConnection(ConnectionString);&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; SqlCommand myCommand = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; SqlCommand("dbo.usp_I_RecordDownloadOfFile", myConnection);&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.CommandType = CommandType.StoredProcedure;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.CommandTimeout = 90; &lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.Parameters.Add("@fileName", SqlDbType.NVarChar, 256).Value = fileName;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.Parameters.Add("@email", SqlDbType.NVarChar, 1024).Value = email;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.Parameters.Add("@referrer", SqlDbType.NVarChar, 1024).Value = referrer;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.Parameters.Add("@from", SqlDbType.NVarChar, 1024).Value = from;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCo
nnection.Open();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myCommand.ExecuteNonQuery();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; myConnection.Close();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;}&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; AfterSaveData(IAsyncResult result)&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; AsyncResult async = (AsyncResult) result;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; SaveDownloaderInfo saveDownloaderInfo = (SaveDownloaderInfo)async.AsyncDelegate;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; saveDownloaderInfo.EndInvoke(result);&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;}&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; GetSqlConnection()&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; System.Configuration.ConfigurationSettings.AppSettings["SiteSqlServer"].ToString();&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;}&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;FONT size="2"&gt;and finally&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;
&lt;DIV style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 0pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0pt; FONT-SIZE: 10pt; BACKGROUND: white; PADDING-BOTTOM: 0pt; BORDER-LEFT: windowtext 1pt solid; COLOR: black; PADDING-TOP: 0pt; BORDER-BOTTOM: windowtext 1pt solid; FONT-FAMILY: Courier New"&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; StoreTheData&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;{&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; fileName = ""; &lt;SPAN style="COLOR: green"&gt;//&lt;/SPAN&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; email = "";&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; referrer = "";&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; from = "";&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; StoreTheData(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; FileName, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Email, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Referrer, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; From)&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; {&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;  fileName = FileName;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;  email = Email;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;  referrer = Referrer;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;  from = From;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt; }&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;&lt;/PRE&gt;&lt;PRE style="MARGIN: 0px"&gt;}&lt;/PRE&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;FONT size="2"&gt;Are there any safety considerations I should take into account..&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 17 Aug 2006 01:43:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/ASP-Net-Threading-question-for-dual-CPU-Xeon/m-p/913910#M4745</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-08-17T01:43:59Z</dc:date>
    </item>
  </channel>
</rss>

