|
I am asking this in the WPF forum because this is a WPF app but this question does not necessarily pertain to WPF, i.e. the UI thread.
Here is the scenario:
I have three (3) threads. Thread One (1) call it the Master Thread; Thread Two (2) is a Ethernet Comm thread; and Thread Three (3) is a GPIB comm thread. Both communication threads handle asynchronous communications from remote entities. At this time there is only one entity hanging off each comm type.
I have implemented a mix of EventWaitHandles and delegates. This all works pretty well. Just think this architecture is a bit ...... ugly. So which one is better/safer?
My concern is as follows. With delegates, for example, the Master thread registers an event handler with Thread 2 and an event handler with Thread 3 for messages that come in. Obviously data could come in near simultaneously. So Thread 2 encases a message in an EventArg and invokes the event on the Master thread. The Master Thread begins processing and then Thread 3 encases its message in an EventArg and invokes the event on the Master Thread. What happens? Does the Master Thread stop in the middle of handling the first event to service the second one? Does the second event wait until the first event is processed? What if Thread 2 gets another message and invokes the event again while the Master is processing the first event?
I wonder if using a queue and an manual Reset EventWaitHandle is not a better idea as the Thread 2 can check the status and wait until it is reset before putting the message in the queue and setting the EventWaitHandle again.
Opinions, please?
Thanks,
Doug
I am a Traveler
of both Time and Space
|
|
|
|
|
What version of Visual Studio are you using? Use the new async keyword. If you are using VS2010, you need to install the Async CTP. The async keyword produces *MUCH* cleaner code since all the syncronization / threading is hidden from the developer.
|
|
|
|
|
Good tip! Thanks i will look into this. I am using VS2010 so will need the add on.
Doug
I am a Traveler
of both Time and Space
|
|
|
|
|
Hi forum,
i know there are some articles for animated panels. But in all examples i've seen only that the items gets animated when the panel rearranges all items (because of resizing).
I am looking for some solution that also animates the items when the panel gets sorted. I've built some hack to get the container items animated when sorting. But it's far away from beeing a clean solution. It also looks like you can't use ItemsControl anymore, because if you use ItemsControl for sorting then all container items are recreated. This isn't good for performance and it's also not good when you use a fade-in Animation on items Loaded event.
Any suggestions? Thanks in advance!
regards,
tetrapack
|
|
|
|
|
|
how can we give a sql connectivity in silver light application during run time because my application style is
different from attached data base working as i already viewed few examples in our site
|
|
|
|
|
You can't connect your silverlight to a database, it does not support the System.Data namespace. You need to create a service interface between your SL app and the database, thats called WCF (or RIA services).
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Thank u for your reply do you have any examples about WCF
|
|
|
|
|
There's bound to be one or two you can follow here[^].
|
|
|
|
|
You cant give direct Sql Connectity in the database.
Try using a WCF service to connect to the database.
|
|
|
|
|
The question is in the title. I just need to relieve myself of the gnawing worries, that is, until someone answers "No".
|
|
|
|
|
It should be safe because you are only changing the style and do not delete it or anything like that.
|
|
|
|
|
Thank you, but one more thing: I have come across examples that involve replacing DataGridColumn objects in handlers for AutoGeneratingColumn event. Would you consider that unsafe?
|
|
|
|
|
I have no experience with this. But it sounds kinda scry to me
|
|
|
|
|
You are trying to replace an Event (AutoGeneratingColumn) with an object?
I think you mean and auto generated column with a customised datagridcolumn, therefore replacing one object with the same type of object just custom built. I would think this would be reasonable, be prepared for the column collection to object but I don't see how.
I would locate the column in the collection and customise it in place rather than replacing it.
Caveat - I have never done this either!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Thank you, too, but I had written "... replacing DataGridColumn objects in handlers for AutoGeneratingColumn event ...". The author of such an example also expressed concerns, like you did.
|
|
|
|
|
Ah that makes more sense, I would still try and change the existing columns properties rather than replacing it.
In one scenario I know the content of the first 4 columns and change the individual formats in the afterautocolumngenerated event (the event name maybe wrong ). The remainder are from a pivot query and are not formatted.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Is there any possibility to send mail to a specific time when the fact that the whole program on the server
|
|
|
|
|
What does that have to do with Silverlight / WPF ?
I'd use a Scheduled Task.
|
|
|
|
|
Not through Silverlight (since you will not know if the client is running at all times or not).
Use the server to build a scheduled task.
|
|
|
|
|
Is it preferable to move ur desktop application to web based application for enterprise solution...
|
|
|
|
|
Preferable in what sense? It depends on the application, the user community, and what you are trying to achieve.
|
|
|
|
|
Personally I prefer desktop application.
But "Enterprisy people" like web for mostly 2 reason:
1. it's "multiplatform" (you know it work on the 2% of mac and 05% of linux, and on iPad and smart phone, which are more common)
2. it's non brainer deploy once in on a webserver it's out there for every one, and that's the latest version!
Desktop are favored by people who don't mind run an installer an need performance, data crunching, more advanced UI (Javascript is becoming quite good those days, particularly HTML5 e err.. the latest JS) still elaborate user experience is a desktop thing.
For the update of desktop always a problem (you see, in some entreprisy environment, user CAN'T install anything, including update, the likely mandatory .NET framework, etc.) click once does a relatively good job in most case for .NET app and, on WIndows 8, metro app update seemlessly! (although there are curretnly some nasty limitation for .NET business app, like crippled file access, nosql access, this can be handled on the server side as, thankfully, WCF work in metro app!!)
|
|
|
|
|
thanx for ur suggestions...
|
|
|
|
|
I am newbie of WPF and regardless that I am starting my own project in order to learn more everyday.
Before I ask the question I will explain you what I did so far.
Mainwindow.xaml have:
"Button" =
private void ModifyButton_Click(object sender, RoutedEventArgs e)
{
Window1 win2 = new Window1();
win2.ShowDialog();
}
Window1.xaml have:
"image"
"Buttonlink1" "Buttonlink2"
Ok that´s all.
What I want do now is this:
From the Mainwindow.xaml for the button click of "button" I want send 3 path (variables) for the "image" "buttonlink1" and "Buttonlink2" situated in Window1.xaml.
The idea is to have many buttons in the Mainwindow.xaml and each one represent a fix for a software error, this buttons will keep different data. In the "image" I have to send the path of a .jpg that will show an error dialog box. In the "buttonlink1" I have to send the path of a .bat fix that will fix the issue. In the "buttonlink2" I have to send the path of a .bat that will remotely resolve the issue.
So my question is: How i can send this 3 variables (path) from Mainwindow.xaml to window1.xaml? and how "image" "buttonlink1" "buttonlink2" will read it and execute it?
Thank you in advance for your help, I am sorry for eventual grammar errors. If something is not clear, just let me know.
Giuseppe Colello
Newbie WPF/C#
modified 10-Feb-13 14:54pm.
|
|
|
|