|
What book or tutorial are you using for learning remoting? What previous experience do you have with other forms if interprocess communications?
You don't make the singleton object in your server, the remoting framework controls that. Therefore in your server code you are creating a different instance than the one the client code is communicating with since it uses the framework to access the remote object. Your server code bypasses the framework and creates it's own instance that the framework knows nothing about.
namespace RemoteTestServer
{
class Program
{
static void Main(string[] args)
{
cRemotableObject remoteObject = new cRemotableObject();
led mike
|
|
|
|
|
Thanks, so then I need a reference to the instance that the client connects to, but how do I get that ?
|
|
|
|
|
Eike Mueller wrote: but how do I get that ?
The same way the client does of course.
"All other things being equal, the simplest solution is the best." - Occam's razor[^]
led mike
|
|
|
|
|
Ahh, ok thanks, that works, I changed this in the server
static void Main(string[] args)
{
TcpChannel channel = new TcpChannel(8080);
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(cRemotableObject), "Test1", WellKnownObjectMode.Singleton);
cRemotableObject remoteObject = (cRemotableObject)Activator.GetObject(typeof(cRemotableObject), "tcp://localhost:8080/Test1");
And in the remote object I increased the lease time, so it doesn't lose the values every few minutes.
//100min lease time
public override Object InitializeLifetimeService()
{
System.Runtime.Remoting.Lifetime.ILease lease = (System.Runtime.Remoting.Lifetime.ILease)base.InitializeLifetimeService();
if (lease.CurrentState == System.Runtime.Remoting.Lifetime.LeaseState.Initial)
{
lease.InitialLeaseTime = TimeSpan.FromMinutes(100);
lease.SponsorshipTimeout = TimeSpan.FromMinutes(2);
lease.RenewOnCallTime = TimeSpan.FromSeconds(100);
}
return lease;
}
btw. would there be any problem with using unlimited lease time ?
//unlimited lease time
//public override Object InitializeLifetimeService()
//{
// return null;
//}
|
|
|
|
|
Eike Mueller wrote: btw. would there be any problem with using unlimited lease time ?
I don't know but if there is I would expect the documentation to address that.
led mike
|
|
|
|
|
I have a WinForm program.
it's "main" method has a parameter(string[]).
I want to startup it by another program.
I code
"Process.Start(@"D:\Program Files\Tencent\QQ\BugReport.exe", "message");",
but failed.
|
|
|
|
|
Hello!
Try this:
"Process.Start(@"D:\Program Files\Tencent\QQ\BugReport.exe message1 message2);"
or
"Process.Start(@"D:\Program Files\Tencent\QQ\BugReport.exe message1,message2);"
And what is the type of "message", it should be string[] as well!
Regards,
Adeel
Do rate the reply, if it helps or even if it doesnot, because it helps the members to know, what solved the issue. Thanks.
|
|
|
|
|
Report Win32Exception:"System not find appointed file"
|
|
|
|
|
Is the exe file present at the path??
Do rate the reply, if it helps or even if it doesnot, because it helps the members to know, what solved the issue. Thanks.
|
|
|
|
|
"Process.Start(@"D:\Program Files\Tencent\QQ\BugReport.exe message1,message2);"
and
"Process.Start(@"D:\Program Files\Tencent\QQ\BugReport message1,message2);"
is same Exception.
the path is right.
|
|
|
|
|
do you have the code of BugReport?
Do rate the reply, if it helps or even if it doesnot, because it helps the members to know, what solved the issue. Thanks.
|
|
|
|
|
yes.
method1:
string msg = "message";
Process.Start(@"E:\Projects\BugReport\BugReport\bin\Debug\BugReport.exe", msg);
method2:
Process.Start(@"E:\Projects\BugReport\BugReport\bin\Debug\BugReport.exe", "message");
method3:
StringBuilder sb = new StirngBuilder();
foreach(string msg in messages)
{
sb.AppendLine(msg);
}
Process.Start(@"E:\Projects\BugReport\BugReport\bin\Debug\BugReport.exe", sb.toString());
method1 and method2 are right,but mehtod3 is failed.
why?
|
|
|
|
|
I suppose, you do have the code for that!
in BugReport's main function, remove the string[] parameter:
use this to get the parameters, and args will get aal the stuff you send to it:
string[] args = Environment.GetCommandLineArgs();
after that, do whatever you want to do with it!!
PS: you will definitly like to add some exception handling, you can do that in static main() function(usually in program.cs file), for better manageability.
Hope hat helps!
Regards,
Adeel
Do rate the reply, if it helps or even if it doesnot, because it helps the members to know, what solved the issue. Thanks.
|
|
|
|
|
|
Hi all,
i am trying to generate an ExcelSheet in Asp.net (using C#).
I have declared the excel oblect on server.
My Problem is that the code written do well when i execute web page on file system.
But when on HTTP it does't generate the excel sheet.
Though i have noticed that the TaskManager show there is a process running for Excel every time i run the page but the Excel sheet is never generated.
I have alredy custmized the Launch And Activation Properties of Excel by using Dcom Config using component services.
Any Help will be appreciated
|
|
|
|
|
Provide some code, it is anyone's guess how you are working with the excel object...
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
has anyone done this before? i have a mdi c# app and each child form has 3 tabs. i would like to embed an ms word doc in one of the tabs. itmfg (i've tried my friend google) but didn't find much. anyone can point me to good resource? tia.
I am a SysAdmin, I battle my own daemons.
|
|
|
|
|
Hello!
I think "tia" is "Thanks In Advance"!
And secondly, you need to know the version of the Word, because it works differently for Word 2003 & Word 2007 (same goes for MS Office 2003 & MS Office 2007).
Lastly, when you know what version you desire, tufg (try your friend google ) with "Office document viewer .net", you will find something to work on!
Regards,
Adeel
Do rate the reply, if it helps or even if it doesnot, because it helps the members to know, what solved the issue. Thanks.
|
|
|
|
|
Finaly, I search a little bit more because i got an error but it was :
System.Diagnostics.Process.Start(@"c:\program files\microsoft office\office11\excel.exe");
Thanks you a lot and its was a pleasure to talk with you!!
Bye, good evening!
Pascal Gosselin
|
|
|
|
|
Good to hear you got it working.
I'm going to become rich when I create a device that allows me to punch people in the face over the internet.
"If an Indian asked a programming question in the forest, would it still be urgent?" - John Simmons / outlaw programmer
|
|
|
|
|
Next time please don't make new thread, but reply in old one. That way forum is better organized, and as a bonus person who helped you might recieve email notification, while if you make new thread they will never recieve it.
[ My Blog] "Visual studio desperately needs some performance improvements. It is sometimes almost as slow as eclipse." - Rüdiger Klaehn "Real men use mspaint for writing code and notepad for designing graphics." - Anna-Jayne Metcalfe
|
|
|
|
|
dnh wrote: if you make new thread they will never recieve it
Good point.
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
Hi Pascal,
You're welcome!
Regards
"You don't scare me Selene."-Tanis
"We'll have to work on that."-Selene
(Underworld Evolution)
|
|
|
|
|
Does anyone know how to declare Manifest Files in the Visual Studio IDE for C#?
I followed the steps outlined here for including a manifest file:
http://support.microsoft.com/kb/944276
The executable runs from the command line after I include the manifest file. But when I open up the debugger and try to run the program through the IDE, it has the same problem as if it does not recognize the manifest file linked to it.
The way I link the manifest file to the executable is by first building the executable and then I close the project. Then I open the executable as a separate file and then I attach the manifest file as a resource to the executable.
The executable can run then, by running it from an explorer window (command line) but if I open the project again, it will not work.
I will see if I can find how this is supposed to work.
|
|
|
|
|
Thank you for your help! I try what you suggest me and its correct!! Thank you again! I try now for opening a file but it give me an error with this : File.OpenFile "C:Program Files\Microsoft Office\OFFICE11\Excel.exe";
I don't understand why??? Don't be worried, its the last thing that i will you ask!!!
Thank you, you're cool!!
Pascal Gosselin
|
|
|
|