|
Well, you kind of gave it away in your post title - it's a LINQ issue.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
I’m still fairly new with this stuff and was writing an application that will get some computer and bios info from computers on our network using WMI. I’ve got things working so that I’m getting the information that I want, however, I would like to add some error handling in case the property I’m searching for doesn’t exist. Currently the program just stops if it can’t find the property/value.
Would it be best to use a try catch? If so would I need to write it in for every property value?
Thanks
-Rob
ManagementScope scope = new ManagementScope("\\\\" + target + "\\root\\cimv2");
ManagementPath pathBios = new ManagementPath("Win32_Bios");
ManagementPath pathSystem = new ManagementPath("Win32_ComputerSystem");
ObjectGetOptions obj = new ObjectGetOptions(null);
ManagementClass wmiBios = new ManagementClass(scope, pathBios, obj);
ManagementClass wmiSystem = new ManagementClass(scope, pathSystem, obj);
foreach (ManagementObject bios in wmiBios.GetInstances())
{
queueStack.Enqueue("Manufacturer: " + bios.Properties["Manufacturer"].Value.ToString().Trim());
queueStack.Enqueue("rev: " + bios.Properties["smbiosbiosversion"].Value.ToString().Trim());
queueStack.Enqueue("SN: " + bios.Properties["Serialnumber"].Value.ToString().Trim());
queueStack.Enqueue("Status: " + bios.Properties["Status"].Value.ToString().Trim());
}
I've added a try/catch for each wmi value being returned
modified on Monday, August 17, 2009 3:11 PM
|
|
|
|
|
eeffoc42 wrote: Would it be best to use a try catch?
That is one way and the best way. There coud be error hundling as returning result, but throwing expection has its own uses. If You don't have unhandled expection the program will have a poped up a form or send it to debbuger if attached.
eeffoc42 wrote: If so would I need to write it in for every property value?
That is up to you and based on a case. If property has some limits like value is too low then yes.
I do not know what Expection is thrown, here is some examples:
<br />
try<br />
{<br />
XmlReaderSettings xrs = new XmlReaderSettings();<br />
xrs.IgnoreWhitespace = true;<br />
xrs.IgnoreComments = true;<br />
String nonExsistingFile = "C:\Haha.txt";<br />
<br />
XmlReader reader = XmlReader.Create(nonExsistingFile , xrs);<br />
<br />
}<br />
catch (FileNotFoundException ex)<br />
{<br />
}<br />
If you have your own class, and if it doesn't throw exception, those try catch woudn't have any effect.
If you are looking custom Exception look here:
http://blog.gurock.com/articles/creating-custom-exceptions-in-dotnet/[^]
|
|
|
|
|
Hi,
it is often wise to add a try-catch construct, provided you do something with what you catch; an empty catch block is mostly unacceptable, since that just would ignore and swallow the problem.
Suggestion: when showing an exception, always use Exception.ToString() to get all of it.
You would need as many try-catch constructs as you want your error handling to be granular; if your code normally runs fine, put it all in one try-catch; if you want your foreach loop to continue with the next object, then you need to put the try-catch inside the foreach.
Often it is better to avoid an exception all together; example:
PropertyData pd=bios.Properties["Manufacturer"];
if (pd!=null) queueStack.Enqueue("Manufacturer: "+pd.Value.ToString().Trim());
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
eeffoc42 wrote: ManagementScope scope = new ManagementScope("\\\\" + target + "\\root\\cimv2")
ManagementScope class usually is combined with ConnectionOptions class in order to allow you to prompt account security credentials for the remote computer connect or/and to configurate COM impersonation level used for remote connection operations. For error handling you could just use singe try/catch block.
Life is a stage and we are all actors!
modified on Friday, August 14, 2009 4:27 PM
|
|
|
|
|
My current block in the road is figuring out how to compare files through sockets. I know its possible just not sure how. Would I use TCP/IP? I'm lost
|
|
|
|
|
|
well both methods would work I guess, but which would be more effiecnt?
|
|
|
|
|
If you chose to send entire file, you coud also compare what was changed. But if you wan't to know only if it is changed, sending hash woud be enough
|
|
|
|
|
Is it possible to specify a web service entirely via the app.config file? What I'm trying to avoid is statically adding a web service reference to a desktop app.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
You can change the URL of the web service via configuration files. The only way I can think of to use a web service with out the autogenerated code is to just call it yourself and parse the XML into your own objects but really overkill.
|
|
|
|
|
I dug up a solution where the desktop app goes and searches a server for a WINDOWS service and registers it. You still need the proxy class but changing servers was easy. The link is in the office and I can send it on Monday if you think it will be useful.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
i want to show time country wise in c#.net
i am building an web application.i want to display it in a scrolldelay kind of thing,wherein the time of each country is displayes for lets say after every 30 secs.
example is here :http://www.advance-international.com
in the example u can see the time ,weather of particular cities
i want to do something like it
pls help
|
|
|
|
|
This section is for C# Applications. not for Web app.
I think you are using ASP.NET that uses same sytax.
I Suggest look into ayax
|
|
|
|
|
I can't tell you how to display the time zones, but to get them and get their time, look at the TimeZoneInfo class. It's got a method to get every time zone, and another method called ConvertTime. Both of those should be useful
Between the idea
And the reality
Between the motion
And the act
Falls the Shadow
|
|
|
|
|
string versus String !
I have a question (a little embarrassing because I see it so late), what is the difference between String and string ? not in the way that String is a Class and string is a reference type. But rather how to think about them in the term of uses.
I searched and find this piece of gold, but I don't know how to use it very well:
Use "String" to refer specifically to the String class.
Use "string" when referring to an object of the String class.
How to use them, accordingly?
thanks again.
|
|
|
|
|
String == string. They're aliases of the same class, just like ulong is an alias of UInt64
Between the idea
And the reality
Between the motion
And the act
Falls the Shadow
|
|
|
|
|
They are the same.
If you want to use reference try like this:
String someString = "";
DoSomething(ref someString);
Function:
private void DoSomething(ref String str)
{
str = "Was Empty";
}
|
|
|
|
|
Why is the ref keyword added to String in this example. Isn't string a reference type already? I thought ref is only to make value types behave like reference types.
|
|
|
|
|
humayunlalzad wrote: Why is the ref keyword added to String in this example. Isn't string a reference type already? I thought ref is only to make value types behave like reference types.
I realy don't know about string, but i must have put into where i have struct type.
|
|
|
|
|
Hi,
I suggest you run something similar to this:
string str="aha";
log(str);
func1(str);
log(str);
func2(ref str);
log(str);
private void func1(String str) {str = "Changed"; log("1 "+str);}
private void func2(ref String str) {str = "Changed";log("2 "+str); }
private void log(string s) {Console.WriteLine(s);}
and think about why it behaves the way it does.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
There is no difference. string is the C# alias to String (which is really System.String ). When the code compiles, all of your string types are converted to System.String in the IL.
Personally, I prefer using string when I am typing a variable and String when I am acessing static members of the class. This is only personal preference as I think it makes the code easier to follow. There is nothing wrong with code like:
bool empty = string.IsNullOrEmpty(""); instead of
bool empty = String.IsNullOrEmpty("");
Scott Dorman Microsoft® MVP - Visual C# | MCPD
President - Tampa Bay IASA
[ Blog][ Articles][ Forum Guidelines] Hey, hey, hey. Don't be mean. We don't have to be mean because, remember, no matter where you go, there you are. - Buckaroo Banzai
|
|
|
|
|
thanks....now I see.
|
|
|
|
|
Glad to help.
Scott Dorman Microsoft® MVP - Visual C# | MCPD
President - Tampa Bay IASA
[ Blog][ Articles][ Forum Guidelines] Hey, hey, hey. Don't be mean. We don't have to be mean because, remember, no matter where you go, there you are. - Buckaroo Banzai
|
|
|
|
|
Scott Dorman wrote: I prefer using string when I am typing a variable and String when I am acessing static members of the class.
Me too, except I type System.String .
|
|
|
|