Search Results

Search found 63498 results on 2540 pages for 'vb net 2010'.

Page 730/2540 | < Previous Page | 726 727 728 729 730 731 732 733 734 735 736 737  | Next Page >

  • How do I set the next available custom color in the ColorDialog?

    - by Hannah
    I'm currently coding in VB.net. A user places the cursor in a table cell and clicks on "Table Background Color" to edit the current background colour. Currently I have been able to detect the current colour (for instance a light blue) and set that colour in the ColorDialog (Colour swatches are correct and RGB values are correct). What I would like to do is enable the user to click on the "Add to Custom Colors" to save the colour. Problem is, it sets the first square in the custom colours area (which happens to already be filled in with another custom colour), rather than finding the next square that is white and set it there instead. Is this possible? If the user selects a new custom colour square when they first load the ColorDialog, the current colour (light blue) disappears and the colour swatches and RGB values are set as white. Thanks

    Read the article

  • ACCESS VBA - DAO in VB - problem with creating relations

    - by Justin
    So take the following example: Sub CreateRelation() Dim db As Database Dim rel As Relation Dim fld As Field Set db = CurrentDb Set rel = db.CreateRelation("OrderID", "Orders", "Products") 'refrential integrity rel.Attributes = dbRelationUpdateCascade 'specify the key in the referenced table Set fld = rel.CreateField("OrderID") fld.ForeignName = "OrderID" rel.Fields.Append fld db.Relations.Append rel End Sub I keep getting the error, No unique index found for the referenced field of the primary table. if i include the vb before this sub to create in index on the field, it gives me the error: Index already exists. so i am trying to figure this out. if there are not any primary keys set, will that cause this not to work? i am confused by this, but i really really want to figure this out. So orderID is a FOREIGN KEY in the Products Table please help thanks justin

    Read the article

  • PageMethods In ASP.NET AJAX

    Page Methods is a new mechanism in ASP.NET applications where the server code can be bound to ASP.NET pages. It is an easy way to communicate asynchronously with the server using ASP.NET AJAX technologies. It is an alternate to calling the page which is reliable and carries a low risk. It is basically used to expose the web methods to the client script.

    Read the article

  • Alternative to Microsoft Agent / Fix for color issue?

    - by Rob P.
    I've got an app that does Text-To-Speech; but I wanted to show an animated face/character to go with it. I found a tutorial on Microsoft Agent and I implemented it in my vb.net app. The problem is with the transparency color. Unless I run application in compatibility mode/256 colors, the characters will appear with a purplish-pink background image instead of a transparent back-color. But running the app in 256 colors the rest of the app looks awfully out of place. First - is there something that works similar to MS Agent I can use that would be more appropriate? Second - if I'm still MS Agent - can I get the transparent color to work correctly without limiting myself to 256 colors?

    Read the article

  • XPath select an attribute based on value

    - by Apeksha
    Using VB.Net, I have an XmlNode object, xNode. I need to select an attribute of this node if it has a particular value. e.g. xNode.SelectSingleNode(".[@attr1='1']") I would expect this statement to return the attribute "attr1", only if it has a value of "1". However, I get an error - Expression must evaluate to a node-set. When I tried this - xNode.SelectSingleNode("@attr1[@attr1='1']") It always returns Nothing, even if the attribute has a value of 1. I have tried a lot of different things, but no luck yet. Please help. Thanks.

    Read the article

  • itunes sdk list albums

    - by Matt Facer
    Hi guys, I'm working on a new test app (just out of curiosity really) which is an add on to iTunes. I'm trying fairly basic things at the mo, and have managed to control volume, pause etc etc. I have a function from some demo code which loops through all the tracks in my main library and gets their album name... I then show the individual album name in my listbox. This is FAR from the best way to do it! Is there a way to query the library to get just the album names? I ultimately want to get to a point where I can have a list of albums (with images) - I click on the album name and that loads the associated tracks.... thanks for any help! (I'm using VB.net btw)

    Read the article

  • Ensure connection to a POSPrinter connected via COM

    - by Alexander
    Hi, I need to make sure that the connection to a POS printer is successful before writing data to the database and then printing a receipt. The POSprinter is normally of type BTP 2002NP but may differ. The common thing is that they are all connected via COM-port and NOT usb, so no drivers installed at all on the client. Can I send some kind of "ping" on a COM-port and check if a device is connected and turned on? Any help or suggestions are very much appreciated. Additional information, the application is developed in VB.net and Visual Studio 2008

    Read the article

  • FREE Windows Azure Boot camp &ndash; Raleigh Wednesday June 23, 2010

    - by Jim Duffy
    Just want to be sure you don’t miss out on an opportunity to take advantage of some free Windows Azure training. Microsoft Developer Evangelist Brian Hitney and I will be presenting a one-day Windows Azure boot camp on June 23rd in Raleigh, NC at the Microsoft RTP offices. For more information on content, what to bring, directions, etc. just click here to go to the information and registration page for the Raleigh event. To find other dates and locations for the Windows Azure boot camps  head over to the Windows Azure Boot Camp page. Brian and I hope to see you there! Have a day. :-|

    Read the article

  • Changing styling of DataGridViewComboBoxCell from DropDownList to DropDown?

    - by John at CashCommons
    (This question is narrower in scope than this question I asked earlier.) Say I have a DataGridViewComboBoxColumn, and want to switch the style of the ComboBox control between DropDownList and DropDown (mainly for the text field editing capability). I'd like to do this on a row-by-row basis (at the DataGridViewComboBoxCell level). How would I do that programatically? Or maybe a different way of asking: How do I access the ComboBox control given an object of type DataGridViewComboBoxCell? (I'm in VB 2005.) Thanks as always.

    Read the article

  • nHibernate HQL dynamic Instantiation question

    - by Rey
    Hello all, I can't find what's going on with the following nHibernate HQL. here's my VB.Net code: Return _Session.GetNamedQuery("PersonAnthroSummary").SetInt32(0, 2).UniqueResult() My Named Query: <sql-query name="PersonAnthroSummary"> select New PersonAnthroSummary( Anthro.Height, Anthro.Weight ) from PersonAnthroContact as Anthro where Anthro.ID = ? </sql-query> and i am importing the DTO class: <import class="xxxxxxx.DataServices.PersonAnthroSummary, xxxxxxxxx.DataServices"/> PersonAnthroSummary has a constructor that will take height and weight arguments. when i test this, nHibernate throwing following exception: {"Incorrect syntax near 'Anthro'."} and generated QueryString is: "select New PersonAnthroSummary( Anthro.Height, Anthro.Weight ) from PersonAnthroContact as Anthro where Anthro.ID = @p0" Can some one tell me what i'm doing wrong here?

    Read the article

  • value of type 'string' cannot be converted to 'Devart.data.postgresql.PgSqlParameter'

    - by hector
    The following is my PostgreSQL table structure and the vb.net code to insert into the tables.Using Devart's Component For PostgreSQL Connect table gtab83 CREATE TABLE gtab83 ( orderid integer NOT NULL DEFAULT nextval('seq_gtab83_id'::regclass), acid integer, slno integer, orderdte date ) table gtab84 CREATE TABLE gtab84 ( orderdetid integer DEFAULT nextval('seq_gtab84_id'::regclass), productid integer, qty integer, orderid integer ) Code to insert into the above tables is below '1.)INSERT INTO gtab83(orderid,acid, slno, orderdte) VALUES (?, ?, ?); '2.)INSERT INTO gtab84(orderdetid,productid, qty, orderid) VALUES (?, ?, ?); Try Dim cmd As PgSqlCommand = New PgSqlCommand("", Myconnstr) cmd.CommandText = _ "INSERT INTO GTAB83(ACID,SLNO,ORDERDTE)" & _ "VALUES " & _ "(@acid,@slno,@orderdte);" Dim paramAcid As PgSqlParameter = New PgSqlParameter("@acid", PgSqlType.Int, 0) Dim paramSlno As PgSqlParameter = New PgSqlParameter("@slno", PgSqlType.Int, 0) Dim paramOrderdte As PgSqlParameter = New PgSqlParameter("@orderdte", PgSqlType.Date, 0) paramAcid = cboCust.SelectedValue paramSlno = txtOrderNO.Text #ERROR# paramOrderdte = (txtDate.Text, "yyyy-MM-dd") #ERROR# Catch ex As Exception End Try ERROR : value of type 'string' cannot be converted to 'Devart.data.postgresql.PgSqlParameter'

    Read the article

  • How to share WinForms and code between 2 projects

    - by Richard Bysouth
    Hi I have a working Windows Forms app (split into an EXE and a few DLLs). Now I've been asked to look at creating another app (MyAppLite) that has only a very small subset of the functionality. Think of it as similar to MS Word Viewer vs. MS Word. Everything that I need to build MyAppLite is contained in the main solution - essentially I need to use a couple of the WinForms and whatever bits in the DLLs they call into. What would be the best way to do this? I was thinking of creating another Project in my solution for MyAppLite, then adding the necessary source files as links (using Add Existing Item Add As Link in Solution Explorer). I definitely wouldn't want to maintain 2 copies of the source code. FYI it's a .NET 2.0 VB app, using VS2008. thanks Richard

    Read the article

  • Parallel Computing in .Net 4.0

    - by kaleidoscope
    Technorati Tags: Ram,Parallel Computing in .Net 4.0 Parallel computing is the simultaneous use of multiple compute resources to solve a computational problem: To be run using multiple CPUs A problem is broken into discrete parts that can be solved concurrently Each part is further broken down to a series of instructions Instructions from each part execute simultaneously on different CPUs Parallel Extensions in .NET 4.0 provides a set of libraries and tools to achieve the above mentioned objectives. This supports two paradigms of parallel computing Data Parallelism – This refers to dividing the data across multiple processors for parallel execution.e.g we are processing an array of 1000 elements we can distribute the data between two processors say 500 each. This is supported by the Parallel LINQ (PLINQ) in .NET 4.0 Task Parallelism – This breaks down the program into multiple tasks which can be parallelized and are executed on different processors. This is supported by Task Parallel Library (TPL) in .NET 4.0 A high level view is shown below:

    Read the article

  • How do access a secure website within a sharepoint webpart?

    - by Bill
    How do access a secure website within a sharepoint webpart? The following code works fine as a console application but if you run it in a webpart, you will get a access violation WebRequest request = WebRequest.Create("https://somesecuresite.com"); WebResponse firstResponse = null; try { firstResponse = request.GetResponse(); } catch (WebException ex) { writer.WriteLine("Error: " + ex.ToString()); return; } if you access a non secure site, it also works. Any ideas? Error: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a receive. --- System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at System.Net.UnsafeNclNativeMethods.NativePKI.CertVerifyCertificateChainPolicy(IntPtr policy, SafeFreeCertChain chainContext, ChainPolicyParameter& cpp, ChainPolicyStatus& ps) at System.Net.PolicyWrapper.VerifyChainPolicy(SafeFreeCertChain chainContext, ChainPolicyParameter& cpp) at System.Net.Security.SecureChannel.VerifyRemoteCertificate(RemoteCertValidationCallback remoteCertValidationCallback) at System.Net.Security.SslState.CompleteHandshake() at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) at System.Net.TlsStream.CallProcessAuthentication(Object state) at System.Threading.ExecutionContext.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.ConnectStream.WriteHeaders(Boolean async) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetResponse()

    Read the article

  • Form Design ScriptControlClass

    - by raghumithra
    I am working on a form designer. We have two parts: first is designing form by placing controls, and second is writing VB code in rich text editor. How do i integrate design and code (events of the controls) in runtime? I am using ScriptControlClass Form4 f4 = new Form4(); f4.Name = "dgfdfg"; f4.Text = "Raghudfgmithra"; Button btn = new Button(); btn.Text = "HI"; btn.Left = 25; btn.Top = 50; btn.Name = "btnSubmit"; f4.Controls.Add(btn); script.AddObject("form", f4, true); script.AddCode("???????????); script.ExecuteStatement(????????????);

    Read the article

  • OPN DAY VIRTUAL EVENT FY11 le rendez-vous à ne pas manquer ! 29 juin 2010

    - by [email protected]
    Comment les dernières acquisitions et technologies Oracle permettent d'augmenter encore davantage les ventes de nos partenaires grâce à une offre logicielle et matérielle complète Quels sont les investissements continus d'Oracle pour aider nos partenaires à réussir. Comment utiliser la spécialisation pour différencier son offre partenaire, gagner en notoriété, s' imposer comme le fournisseur privilégié de ses clients et attirer de nouveaux prospects. Des entretiens avec des partenaires Oracle Specialized, un stand virtuel regorgeant d'informations téléchargeables et des discussions avec les employés d'Oracle seront également au programme, le tout en direct et en ligne ! Pour vous inscrire, cliquez ici

    Read the article

  • Suggest-a-Session for Oracle Develop 2010: Last chance to get your paper submitted.

    - by olaf.heimburger
    While working with Oracle Technologies at customer projects we all come across solutions and ideas that are worth to share with a greater audience. When you missed the Call For Paper for Oracle OpenWorld and Oracle Develop you have the chance to get in. The Oracle Mix Community provides a tool called Suggest-a-Session for submitting and voting the sessions you would like to attend. My Suggestions When you pass by, do not forget to vote for my sessions. These are: Real-World Single Sign-On and ADF Security The Personal Newsletter Generator: Implement Cool Applications with ADF Faces Thank you for your support.

    Read the article

  • XmlWriter and lower ASCII characters

    - by Rick Strahl
    Ran into an interesting problem today on my CodePaste.net site: The main RSS and ATOM feeds on the site were broken because one code snippet on the site contained a lower ASCII character (CHR(3)). I don't think this was done on purpose but it was enough to make the feeds fail. After quite a bit of debugging and throwing in a custom error handler into my actual feed generation code that just spit out the raw error instead of running it through the ASP.NET MVC and my own error pipeline I found the actual error. The lovely base exception and error trace I got looked like this: Error: '', hexadecimal value 0x03, is an invalid character. at System.Xml.XmlUtf8RawTextWriter.InvalidXmlChar(Int32 ch, Byte* pDst, Boolean entitize)at System.Xml.XmlUtf8RawTextWriter.WriteElementTextBlock(Char* pSrc, Char* pSrcEnd)at System.Xml.XmlUtf8RawTextWriter.WriteString(String text)at System.Xml.XmlWellFormedWriter.WriteString(String text)at System.Xml.XmlWriter.WriteElementString(String localName, String ns, String value)at System.ServiceModel.Syndication.Rss20FeedFormatter.WriteItemContents(XmlWriter writer, SyndicationItem item, Uri feedBaseUri)at System.ServiceModel.Syndication.Rss20FeedFormatter.WriteItem(XmlWriter writer, SyndicationItem item, Uri feedBaseUri)at System.ServiceModel.Syndication.Rss20FeedFormatter.WriteItems(XmlWriter writer, IEnumerable`1 items, Uri feedBaseUri)at System.ServiceModel.Syndication.Rss20FeedFormatter.WriteFeed(XmlWriter writer)at System.ServiceModel.Syndication.Rss20FeedFormatter.WriteTo(XmlWriter writer)at CodePasteMvc.Controllers.ApiControllerBase.GetFeed(Object instance) in C:\Projects2010\CodePaste\CodePasteMvc\Controllers\ApiControllerBase.cs:line 131 XML doesn't like extended ASCII Characters It turns out the issue is that XML in general does not deal well with lower ASCII characters. According to the XML spec it looks like any characters below 0x09 are invalid. If you generate an XML document in .NET with an embedded &#x3; entity (as mine did to create the error above), you tend to get an XML document error when displaying it in a viewer. For example, here's what the result of my  feed output looks like with the invalid character embedded inside of Chrome which displays RSS feeds as raw XML by default: Other browsers show similar error messages. The nice thing about Chrome is that you can actually view source and jump down to see the line that causes the error which allowed me to track down the actual message that failed. If you create an XML document that contains a 0x03 character the XML writer fails outright with the error: '', hexadecimal value 0x03, is an invalid character. The good news is that this behavior is overridable so XML output can at least be created by using the XmlSettings object when configuring the XmlWriter instance. In my RSS configuration code this looks something like this:MemoryStream ms = new MemoryStream(); var settings = new XmlWriterSettings() { CheckCharacters = false }; XmlWriter writer = XmlWriter.Create(ms,settings); and voila the feed now generates. Now generally this is probably NOT a good idea, because as mentioned above these characters are illegal and if you view a raw XML document you'll get validation errors. Luckily though most RSS feed readers however don't care and happily accept and display the feed correctly, which is good because it got me over an embarrassing hump until I figured out a better solution. How to handle extended Characters? I was glad to get the feed fixed for the time being, but now I was still stuck with an interesting dilemma. CodePaste.net accepts user input for code snippets and those code snippets can contain just about anything. This means that ASP.NET's standard request filtering cannot be applied to this content. The code content displayed is encoded before display so for the HTML end the CHR(3) input is not really an issue. While invisible characters are hardly useful in user input it's not uncommon that odd characters show up in code snippets. You know the old fat fingering that happens when you're in the middle of a coding session and those invisible characters do end up sometimes in code editors and then end up pasted into the HTML textbox for pasting as a Codepaste.net snippet. The question is how to filter this text? Looking back at the XML Charset Spec it looks like all characters below 0x20 (space) except for 0x09 (tab), 0x0A (LF), 0x0D (CR) are illegal. So applying the following filter with a RegEx should work to remove invalid characters:string code = Regex.Replace(item.Code, @"[\u0000-\u0008,\u000B,\u000C,\u000E-\u001F]", ""); Applying this RegEx to the code snippet (and title) eliminates the problems and the feed renders cleanly.© Rick Strahl, West Wind Technologies, 2005-2012Posted in .NET  XML   Tweet !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();

    Read the article

  • Creating your First Crystal Report for Use in a .NET Application

    Have you ever had to create a custom report within an application you have written for a customer? Most developers have, and there are two schools of thought on how developers normally perform this task. Some choose to create the report using the same technology that the application was created in (ASP, WinFrom, WPF) while others choose to use a reporting package such as Crystal Reports. Using a reporting package will help create reports rapidly. This article walk you through the creation of your first report using Crystal Reports.Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Visual Studio keeps changing resx files

    - by CFP
    Hello everyone ! I'm working on a VB.Net project and using SVN. I noticed that every time I use my main form, Visual studio slightly modifies my .resx file, which means that I keep having to re-commit it, which is quite an annoying thing. Has anybody experienced such problems? A diff file can be seen at http://synchronicity.svn.sourceforge.net/viewvc/synchronicity/trunk/Create%20Synchronicity/MainForm.resx?r1=272&r2=359&pathrev=359 Has anybody ever heard of this? Thanks, CFP.

    Read the article

  • Windows Azure Boot camp &ndash; Raleigh Wednesday June 23, 2010 * FREE*

    - by Jim Duffy
    Yes I know this is my second blog post about the free one-day Windows Azure boot camp on June 23rd in Raleigh, NC. What can I say I don’t want anyone to miss out on an opportunity to take advantage of some free Windows Azure training. Microsoft Developer Evangelist Brian Hitney and I will be presenting a one-day Windows Azure boot camp on June 23rd in Raleigh, NC at the Microsoft RTP offices. For more information on content, what to bring, directions, etc. just click here to go to the information and registration page for the Raleigh event. To find other dates and locations for the Windows Azure boot camps  head over to the Windows Azure Boot Camp page. Brian and I hope to see you there! Have a day. :-|

    Read the article

  • Outlook Macro not executing

    - by Tim
    Hello all, we are using an an outlook macro for incoming emails to unzip the attachments, log them in sql server and copy them to a special working folder where a windows service processes them. The problems are: the user must be logged in at the server otherwise the macro wont run. I think there is no workaround for this. whenever a modal dialog pops up in outlook and waits for user input, the macro wont execute either (f.e. AutoArchive) I have stopped AutoArchiving all x-days in the options. Because its a productive environment, are there other possible windows preventing the macro to execute, which i must disable now? Our outlook-macro solution surely is not the best because of above problems. Are there better alternatives to read emails, unzip attachments and move them to a working folder? My language is VB.Net and server OS is windows 2008. Regards, Tim

    Read the article

  • await, WhenAll, WaitAll, oh my!!

    - by cibrax
    If you are dealing with asynchronous work in .NET, you might know that the Task class has become the main driver for wrapping asynchronous calls. Although this class was officially introduced in .NET 4.0, the programming model for consuming tasks was much more simplified in C# 5.0 in .NET 4.5 with the addition of the new async/await keywords. In a nutshell, you can use these keywords to make asynchronous calls as if they were sequential, and avoiding in that way any fork or callback in the code. The compiler takes care of the rest. I was yesterday writing some code for making multiple asynchronous calls to backend services in parallel. The code looked as follow, var allResults = new List<Result>(); foreach(var provider in providers) { var results = await provider.GetResults(); allResults.AddRange(results); } return allResults; You see, I was using the await keyword to make multiple calls in parallel. Something I did not consider was the overhead this code implied after being compiled. I started an interesting discussion with some smart folks in twitter. One of them, Tugberk Ugurlu, had the brilliant idea of actually write some code to make a performance comparison with another approach using Task.WhenAll. There are two additional methods you can use to wait for the results of multiple calls in parallel, WhenAll and WaitAll. WhenAll creates a new task and waits for results in that new task, so it does not block the calling thread. WaitAll, on the other hand, blocks the calling thread. This is the code Tugberk initially wrote, and I modified afterwards to also show the results of WaitAll. class Program { private static Func<Stopwatch, Task>[] funcs = new Func<Stopwatch, Task>[] { async (watch) => { watch.Start(); await Task.Delay(1000); Console.WriteLine("1000 one has been completed."); }, async (watch) => { await Task.Delay(1500); Console.WriteLine("1500 one has been completed."); }, async (watch) => { await Task.Delay(2000); Console.WriteLine("2000 one has been completed."); watch.Stop(); Console.WriteLine(watch.ElapsedMilliseconds + "ms has been elapsed."); } }; static void Main(string[] args) { Console.WriteLine("Await in loop work starts..."); DoWorkAsync().ContinueWith(task => { Console.WriteLine("Parallel work starts..."); DoWorkInParallelAsync().ContinueWith(t => { Console.WriteLine("WaitAll work starts..."); WaitForAll(); }); }); Console.ReadLine(); } static async Task DoWorkAsync() { Stopwatch watch = new Stopwatch(); foreach (var func in funcs) { await func(watch); } } static async Task DoWorkInParallelAsync() { Stopwatch watch = new Stopwatch(); await Task.WhenAll(funcs[0](watch), funcs[1](watch), funcs[2](watch)); } static void WaitForAll() { Stopwatch watch = new Stopwatch(); Task.WaitAll(funcs[0](watch), funcs[1](watch), funcs[2](watch)); } } After running this code, the results were very concluding. Await in loop work starts... 1000 one has been completed. 1500 one has been completed. 2000 one has been completed. 4532ms has been elapsed. Parallel work starts... 1000 one has been completed. 1500 one has been completed. 2000 one has been completed. 2007ms has been elapsed. WaitAll work starts... 1000 one has been completed. 1500 one has been completed. 2000 one has been completed. 2009ms has been elapsed. The await keyword in a loop does not really make the calls in parallel.

    Read the article

< Previous Page | 726 727 728 729 730 731 732 733 734 735 736 737  | Next Page >