|
I have somthing of a problem with databinding objects from a wsdl.exe generated SOAP proxy.
The generated proxy objects expose their data as public fields, rather than properties. DataTextMember will only bind to a property. The only ways round this that I can think of at the moment are:
Wrapper classes for object in the SOAP proxy.
Nope, don't like that idea one bit, Dumb hack.
Use reflection in a generic wrapper class that converts the contained objects fields into properties
Seems overkill, see below.
Wait for an answer here, as I suspect I am missing something obvious to someone else
Ryan.
|
|
|
|
|
Whats the big deal about extending the class and binding to the properties created there. All you have to do is casting it up
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
The classes are generated by wsdl.exe and are likely to change, there are quite a few of them too.
It seems like an ugly soloution to bash out 20 odd derived classes just to convert their public fields into properties. I guess I'll fiddle with IReflect
Ryan.
|
|
|
|
|
Well here you go an article on this site using CodeDom to modify them to properties without typing all the code for each class
Article about it
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
Excelent mate, thanks.
Should make better use of the offical search function
Ryan.
"Everybody has a right to be stupid, but
some people abuse the privilege."
Uncle Joe Stalin
|
|
|
|
|
Hi all,
Can anyone tell me how I can programatically delete a folder and all of its contents in a windows application? I know you can delete a file using File.Delete( "FileName.txt" );, so it's got to be something close to that.
Thanks
|
|
|
|
|
Directory.Delete(dirname);
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
The following code throws a SerializableException where it unwraps the ObjectHandle, but why? I can't find it in any of the MSDN docs and it doesn't even go away when I mark the Task as Serializable?
Here is the code:
---
public ArrayList GetAssemblyNamesFromHandle( AppDomain domain, string[] assemblyNames )
{
ArrayList names = new ArrayList();
foreach( string assembly in assemblyNames )
{
System.IO.FileInfo file = new System.IO.FileInfo( assembly );
if( file.Exists )
{
string name = assembly.Replace( file.Extension, String.Empty );
System.Runtime.Remoting.ObjectHandle oh = domain.CreateInstanceFrom( assembly, String.Format( "{0}.Task1", name ) );
// Exception thrown here.
Task task = (Task) oh.Unwrap();
if( task.Succeeded )
names.Add( assembly );
}
}
return names;
}
---
Here is the Exception:
---
An unhandled exception of type 'System.Runtime.Serialization.SerializationException' occurred in mscorlib.dll
Additional information: The type TaskLib.Task1 in Assembly TaskLib, Version=1.0.1326.35718, Culture=neutral, PublicKeyToken=null is not marked as serializable.
---
|
|
|
|
|
By digging deeper into the sample code at ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.1033/dncscol/html/csharp05162002.htm, I found that the type they load dynamically descends from System.MarshalByRefObject. This makes sense to me, so I just made a loader that is a MarshalByRefObject which encapsulates all the dynamic loading of Tasks within itself.
Now, I instantiate the Loader in the other AppDomain and have it do its diagnostics and return a list of assembly names that contain tasks to instantiate from the current domain.
|
|
|
|
|
I want to run my windows application from console too.
It's easy with the arguments and so. But I have a problem with the output.
When I compile the programm as Windows application I do not have any Output when I use it from the console (I tried it with Console.WriteLine)
And when I compile the programm as Console application I have output on the Console. But when I want to use my Windows Forms there is always a console window behind my Form.
I want to remove this window but i don't know how!!!
mfg
mazemartin
|
|
|
|
|
I think you need to do something like the following:
In your solution, have 3 projects:
Project 1: This is the Console Application
Project 2: This is the Win Form Application
Project 3: This is the actual worker
Have the main class in Project 1 call the worker and get the result, and display it to Console;
have the main class in Project 2 (a form, I guess), interact with the worker and display the output in its controls;
have the classes in Project 3 do the work.
I haven't tried it, but I was reading about it.
I think that the problem is that when you create a project, depending on which type you pick (Win App or Console App) VS sets the compilation options for you.
I wouldn't know which options to change (maybe the /target option?), but if you
have Project 1 and 2 fit the different needs, you should be all right...
HTH,
F.O.R.
|
|
|
|
|
Hi , i currently palying with the themes dll in xp.
i can draw everything from buttons to listview headers.
the problem i have now , is that i want to draw a listbox "sort arrow"
and i cant figure out how to do it.
if i use the "drawthemedbackground" api and pass it the values for the sortarrow and draw it onto a graphics surface
the result just look like a normal listview header and not a sort arrow..
(and yes ive checked the constants and even tried to pass other values to)
so my question is should i even use the "drawthemedbackground" api to draw teh sort arrow
or are the sortarrows images that i can fetch with some other api ??
any ideas?
//Roger
|
|
|
|
|
I started investigating about application
configuration files. It seems that window based application can
only have one config file that must reside in the application
folder. This file must be named as follows: myapp.exe.config
Does anybody know if it is possible to avoid the double
extension .exe.config and have only .config ? (I would like to
avoid double extensions files, because it may be seen as a virus)
I tried to replace myapp.exe.config by myapp.config but it did not
work. Any suggestions?
Thanks
Chris
|
|
|
|
|
create a new AppDomain and set the ConfigurationFile property.
RSS feed
|
|
|
|
|
Thanks for suggesting creating a new AppDomain.
I found out that I don't need to create a new AppDomain,
I can just set the application file of the current AppDomain
with the following:
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", @"C:\aaa\test.config");
:-DChris
|
|
|
|
|
Does somebody know a simple method how to shutdown remote computer on .net platform? (WMI looks a little bit complicated, so is some another way here?)
Pavel Podolsky (CZ)
|
|
|
|
|
There is a win32 api InitiateSystemShutdown, refer to msdn.
InitiateSystemShutdown[^]
For this you might need to have appropriate privilege in the remote machine.
Regards,
Kannan
|
|
|
|
|
the iisreset command has options to shutdown or reboot remote servers. perhaps you could just execute it from C#.
<signature>
Josef Wainz
Software Developer
|
|
|
|
|
Can't you just use System.Diagnostics.Process.Start() and run the shutdown command? Go to cmd and type in shutdown /? for more info
|
|
|
|
|
Hi
I have build a desktop timer. The timer must stop after 5 minutes if there were no activity from the user. I can't check for the mouse or keyboard, because there is to many programs simulating mouse movements and keyboard usages. I want to test the activity on the com ports/ SP2 etc. If any buddy can help me with some code / idea it would be appreciated.
If have tried
System.ServiceProcess.ServiceController
but I can only retrieve the drivers name / description and not the type of port it is connect on
HELP!!
Thanks
Regardt
|
|
|
|
|
Hi, just working on a few code snippets, trying to figure out remoting, what it does, and how it does what it does. Running into some problems. What's the difference between server activated SingleCall and Singleton again?
I know server activated don't hold states - not that you can't have data member/attributes in remote object class. But with server activated SingleCall, client gets a new instance of remote objects every single time method is invoked. Communication between remote object and client for both client/server activated is done thru a proxy.
Now, what about server activated Singleton? What's life time for Singleton? Singleton implies that a single instance of the remote obj is shared among all/multiple clients - across multiple calls/method invocation. Lifetime for Singleton...?
Thanks!
norm
|
|
|
|
|
norm wrote:
What's the difference between server activated SingleCall and Singleton again?
Using SingleCall will result in a new object being created for each method call, so lifetime isn't really a concern here.
Using Singleton will result in either a new object or the same object being used for each method call. At any one time there will be 0 or 1 of the Singleton objects available. And that object will be available as long as the object is kept alive.
By default the life time of an object starts out at a set value and gets extended for every call to that object. You can change this behavior by overriding the two Lifetime related methods on your MarshalByRefObject class.
MSDN has more information available on the various Lifetime topics, I think a search for ILease will help.
James
"My words but a whisper -- your deafness a SHOUT.
I may make you feel but I can't make you think." - Thick as a Brick, Jethro Tull 1972
|
|
|
|
|
"Using Singleton will result in either a new object or the same object being used for each method call. At any one time there will be 0 or 1 of the Singleton objects available. And that object will be available as long as the object is kept alive."
just a note of caution - this does not mean that you will always talk to the same object. When I tested this in 1.0 if the object is not used for a while it then dies, and a new object is created on the next call - so if you want a tru singleton you are best of using Singleton with a reference to your own singleton object...
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
How is it possible to programatically create a form, populate its fields with some data and post it somewhere?
Don't forget, that's Persian Gulf not Arabian gulf!
|
|
|
|
|
What do you mean by "post it somewhere" ?
You can create a form, set all its properties, add controls and so on, but not show it at once (by calling the Show or ShowDialog method) and keep it in memory until you need to display it or do whatever.
Chris
|
|
|
|