|
You said:
"The service is not necessarily running when the port is changed."
You also said, previous to that post:
"port & protocol at runtime dynamically."
|
|
|
|
|
Helfdane wrote: 2) need to change port & protocol at runtime dynamically.
You have a server which processing something and you wish to remotely manage it.
Your possibilities are the following
1. Provide functionality in the application itself which allows you to manage all parts (that you want to administer.) This is limited to the extent that you cannot start the application, but you can stop it.
2. Used a freeware or commercial product specifically designed to manage other processes. An example of this is Microsoft Operations Manager (MOM) and the Windows Management Instrumentation API. Generic term for that seems to be "web based enterprise management" (or at least that is good enough.)
3. Write your own management application.
4. Manually manage it, say via SSH.
I have used all of those except 2. I tried using MOM and decided it was too complex. Simplicity is important with the third since otherwise one ends up with a chicken and egg problem in that one must administer that app as well.
The problem with the first is that some problems will require a restart. Additionally certainly some business situations it is difficult to handle requests that are in flight via sockets when the port changes.
I prefer 3 but the downside is that it must be kept simple. The simplest functional model is to have it do nothing but start the app. Then one can use 1 with a non-dynamic model in use (modify the config file then restart to pick up the changes.) A more complex version is to have it verify that the target app is up and start it if it isn't. And it can also stop and start the app.
|
|
|
|
|
Hello everyone
Since Inlines (CollectionInlines) arnt a dependencyproperty i made a TextBox with dependency Inlines, the Code:
public InlineCollection InlineCollection
{
get
{
return (InlineCollection)GetValue(InlineCollectionProperty);
}
set
{
SetValue(InlineCollectionProperty, value);
}
}
public static readonly DependencyProperty InlineCollectionProperty = DependencyProperty.Register(
"InlineCollection",
typeof(InlineCollection),
typeof(InlineTextBlock),
new UIPropertyMetadata((PropertyChangedCallback)((sender, args) =>
{
InlineTextBlock textBlock = sender as InlineTextBlock;
if (textBlock != null)
{
textBlock.Inlines.Clear();
InlineCollection inlines = args.NewValue as InlineCollection;
InlineCollection oldinlines = args.OldValue as InlineCollection;
if (inlines != null)
{
textBlock.Inlines.AddRange(inlines.ToList());
}
else
textBlock.Inlines.AddRange(oldinlines.ToList());
}
})));
The TextBlock has normally some text after that it gets new inlines, if the Inlines it gets are empty it should get its first(default) text again. Now the Problem:
if it had a the first a text via Inlines then everything is ok coz i can get them again with the oldvalue, if it has a the first normal text with no inlines then the textblock doesnt show nothing because of: textBlock.Inlines.AddRange(oldinlines.ToList()); (no oldvalue of the Inlines)
how can i set the first text at the ende if in this case? any ideas?
Thanks in Advance.
Cheers
Def.
modified on Tuesday, April 12, 2011 9:02 AM
|
|
|
|
|
Hello,
Using Visual C# 2008, I have created a typed DataSet that connects to a SQL Server database. I would like to change it to connect to an ODBC data source (which in fact connects to the same SQL Server database). No need to be dynamic here. Is there a simple way to do that, or do I have to re-create everything from scratch ?
Thanks,
J-L
|
|
|
|
|
Recreate everything from scratch. The classes involved are going to be different and there is stuff that the SQL Server classes supports that the ODBC classes do not.
By using ODBC instead of the SQL Server dedicated classes you are also giving up the flexibility and performance benefits of the dedicated classes.
|
|
|
|
|
Hi
I'm converting a C# code which was using java.io to use system.io.
I need to change
java.io.FileOutputStream file= new java.io.FileOutputStream(path);
&
java.io.InputStream s to corresponding system.io calls.
I cannot instantiate system.io.stream object as its abstract. So how to decide between choosing System.io.memorystream, bufferedstream, streamreader,streamwriter etc?
Thanks
priya
|
|
|
|
|
You're trying to write a file out? Try using System.IO.FileStream .
|
|
|
|
|
Hi All,
I have 2 main Form classes - ParentForm and ChildForm in the same exe.
ChildForm has a bunch of numeric up-down controls on it.
I create an instance of ChildForm, set TopLevel = true and do SetParent with
the ParentForm as the parent handle (doing this enables the non client area of
ChildForm to stay highlighted when its selected).
Now the problem is I need to know when the mouse has left the ChildForm entirely.
The Leave event for the ChildForm is never fired.
If we listen to the MouseLeave event it gets fired if the mouse hovers
over any of the numeric controls and also when the mouse goes to the parent form. Is there any way I can differentiate between these 2 cases ?
Also note that we need to cover the case where some other external application
(say notepad or Task Manager with always on top as true) is positioned exactly above the child form and is clicked
EDIT UPDATE : Thanks to all for the replies ! Have asked the same question on the MSDN Forums - http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/51e040a5-77f9-4b43-a462-1b5e3a13b90a/?prof=required[^]
TIA
modified on Monday, April 11, 2011 12:00 PM
|
|
|
|
|
private void Form1_MouseLeave(object sender, EventArgs e)
{
Point point = this.PointToClient(Cursor.Position);
if (!this.ClientRectangle.Contains(point))
MessageBox.Show("Ding");
}
Hope that helps
"You get that on the big jobs."
|
|
|
|
|
Hi Rob,
Thanks for the code snippet - it works perfectly when the mouse leaves the ChildForm and moves into the ParentForm !
Howeverm for the second casse i mentioned - "some other external application (say Task Manager with always on top as true) is positioned exactly above the child form and is clicked" , the Mouse Leave event on the ChildForm is not triggered. Is there some other event i need to be listening to for this ?
|
|
|
|
|
I think it is hard to solve. And then your mouse could walk into a dropped-down menu or context menu too.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|
|
Hey Luc,
Regarding the context menus and tool strip/main menus we can listen to their Activated events, so i don`t think that should be an issue
The tricky part is to differentiate between my applications client area and other windows that may be place directly above it.
In that case, MosueLeave gets fired and the even if the user hovers over the other window, the Cursor is still within the client area boundaries !
One would expect WinForms to provide some notifications for such a basic event but i haven`t (yet) found anything helpful in the Win32 API layer as well.
|
|
|
|
|
Hi TIA
You could start playing around with the form's Deactivate event but it probably wont completely resolve your issue. Also I'm sure you, or someone else has a good argument to implement this but it is unusual behaviour and may confuse the user.
Regards
Rob
"You get that on the big jobs."
|
|
|
|
|
Hi Rob,
Yes Deactivated would work when the user actually activates another window thus deactivates my window.
However, the behavior i`ve described does not really seem unusual - for example if the user is working
with my application - and the mouse enters/leaves the child windows and the parent window ,
then certain parts of the UI are highlighted accordingly - thus reducing user confusion
|
|
|
|
|
TyrionTheImp wrote: Also note that we need to cover the case where some other external application (say notepad or Task Manager with always on top as true) is positioned exactly above the child form and is clicked Do you instead want to handle the Control.LostFocus [^] event?
/ravi
|
|
|
|
|
Hey Ravi,
Thanks for the reply - will try it in combination with the code suggested by Rob earlier.
|
|
|
|
|
plz give one small program in window base application in c#.net.
example: menustrip,any one controls,any onecontainer etc....
becuse our college is daily one presentation with example in any one topic in c#.net.soplz help me
|
|
|
|
|
Have a search around the Code Project articles. There are thousands of articles that should be able to help.
By the way - we tend not to give people programs in the forums. You may want to remember that in future.
|
|
|
|
|
Tried anything yet?
Try something and post whatever issues you run into - someone will help you.
The funniest thing about this particular signature is that by the time you realise it doesn't say anything it's too late to stop reading it.
|
|
|
|
|
CP has a huge list of articles. Check these[^] articles. Take a look at the list under Article Filters. There are a lot of things that might interest you.
|
|
|
|
|
How will we be helping you by doing your work for you? Why don't you try to build something and ask questions if you run into problems?
/ravi
|
|
|
|
|
CodeProject is huge. you will get solution with sample download. try It my friend . Code project will not disappoint you.
|
|
|
|
|
Hello,
I have created application which uses Command line arg. I made it Single Instance using Mutex. When another instance of application starts, I want command line arg should be send to first (single) instance.
I cannot use Pipelining because I am using .net 3.0 framework. Socket programming is also not permissible.
In C# form based application we can use WM_COPY, but I am not able to override WndProc in WPF.
IPC using process name would be preferred over FindWindow.
Thanks in advance.
|
|
|
|
|
You should really have asked this in the WPF forum. That's the place for WPF questions.
Pranit Kothari wrote: I am not able to override WndProc in WPF
Why not? It's as simple as:
void Window1_Loaded(object sender, RoutedEventArgs e)
{
HwndSource source = HwndSource.FromHwnd(new WindowInteropHelper((this).Handle);
source.AddHook(new HwndSourceHook(WndProc));
}
private static IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled)
{
} The normal way to do this though is to use a Mutex, as in:
private static Mutex mutex = new Mutex(true, "SomeUniqueIdentifierSuchAsAGuid");
private bool CheckSingleInstance()
{
return mutex.WaitOne(TimeSpan.Zero, true);
}
|
|
|
|
|
Whatever .NET version you're having, you can use pipes using P/Invoke, i.e. calling the native Win32 functions directly. You would need CreateNamedPipe, CloseHandle, ConnectNamedPipe, DisconnectNamedPipe, ReadFile, WriteFile, CreateFile; and you don't need to override WndProc, you can have a separate thread reading from the pipe. That is how I did singleton apps right from the start. A class that does it all would take some 200 lines of code.
Luc Pattyn [Forum Guidelines] [My Articles] Nil Volentibus Arduum
Please use <PRE> tags for code snippets, they preserve indentation, improve readability, and make me actually look at the code.
|
|
|
|