Windows Service config file

P

Peter

..NET 3.5

I have a Windows Service application and it does remoting,
but when a client incounters an error the client get the following error
message

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Where do I turn this off

I have found the following statement but where do I put this statement,
client? server ? I have tried both but still getting the same error message

RemotingConfiguration.CustomErrorsMode

Thank You



Peter
 
I

Ignacio Machin ( .NET/ C# MVP )

.NET 3.5

I have a Windows Service application and it does remoting,
but when a client incounters an error the client get the following error
message

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Where do I turn this off

IIRC the config file of the web app.
 
P

Peter

What does this mean "IIRC the config file of the web app." ?


This is what I have in my app.comfig file, but the client is still getting
the same error message.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.runtime.remoting>
<customErrors mode="Off"/>
</system.runtime.remoting>
</configuration>


message
.NET 3.5

I have a Windows Service application and it does remoting,
but when a client incounters an error the client get the following error
message

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Where do I turn this off

IIRC the config file of the web app.
 
I

Ignacio Machin ( .NET/ C# MVP )

What does this mean "IIRC the config file of the web app." ?

If I Remember Correctly

You have to set the same tag but inside <system.web>

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
 
W

Willy Denoyette [MVP]

message
What does this mean "IIRC the config file of the web app." ?

If I Remember Correctly

You have to set the same tag but inside <system.web>

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>



The OP is not talking about a Web service but about a Windows service
exposing remoting endpoints.

Willy.
 
W

Willy Denoyette [MVP]

Peter said:
What does this mean "IIRC the config file of the web app." ?


This is what I have in my app.comfig file, but the client is still getting
the same error message.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.runtime.remoting>
<customErrors mode="Off"/>
</system.runtime.remoting>
</configuration>

From above, it looks like your remoting server is not using a config file.
When you don't use a config file to configure your remoting services and
channels, you'll have to set the customError mode in code by calling
RemotingConfiguration.CustomErrorsEnabled.

Willy.
 
W

Willy Denoyette [MVP]

Peter said:
I am using a Windows service with remoting

and I have tried both app.config file - where app = applicationname.exe
and I have tried RemotingConfiguration.CustomErrorsEnabled on the client
side and still getting the same error on the client.

My application name is ReportsService.exe
and the config file is ReportsService.exe.config


But this doesn't answer the question whether you are using a Config file or
whether you are explicitly configuring the services and channels in code. I
would love to see the code that initializes the server side of your remoting
service.
Also, what's the exact error message received by the client when _the_ error
occurs?


Willy.
 
P

Peter

Here's the error message on the client sided

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Here's the conde on the Server side.

namespace ReportsService
{
public partial class ReportService : ServiceBase
{
private TcpChannel _objChannel = null;

private const int INT_DEFAULT_PORT = 8000;
private const string STR_DEFAULT_NAME = "ReportsServer.tcp";

public ReportService()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
// Create the TcpChannel
this._objChannel = new TcpChannel(INT_DEFAULT_PORT);
ChannelServices.RegisterChannel(this._objChannel, false);

// Register the Proxy class for remoting.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Report),
STR_DEFAULT_NAME,
WellKnownObjectMode.Singleton);

}

protected override void OnStop()
{
ChannelServices.UnregisterChannel(this._objChannel);
}
}
}
 
S

Steven Cheng [MSFT]

Hi Peter,

Based on the code snippet you provided, you have used the following code
to set the CustomErrorMode on server:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;

Didn't it work?

Based on my understanding, there are two means to set Custom Error mode for
remoting service:

1. Programmatically set it via code, just like the code you provided, you
can set RemotingConfiguration.CustomErrorsMode at initialization time.

2. You can also use configuration file to set the custom error mode. e.g.

==========
<system.runtime.remoting>
<customErrors mode="Off" />
...
==========

However, you need to make sure you've called the following method so as to
tell the remoting runtime to load configuration from the app.config file:

=============
static void Init()
{
Console.WriteLine("Init...........................");

//here SimpleRemotingSln.ServerApp.exe is my server appliation's exe file
name.


RemotingConfiguration.Configure("SimpleRemotingSln.ServerApp.exe.config");
.........
============

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
<003eda0c-26fb-48f9-91c5-24dfc359d2a3@x41g2000hsb.googlegroups.com>
<#0h#[email protected]>
<[email protected]>
Subject: Re: Windows Service config file
Date: Tue, 22 Apr 2008 21:12:36 -0500

Here's the error message on the client sided

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Here's the conde on the Server side.

namespace ReportsService
{
public partial class ReportService : ServiceBase
{
private TcpChannel _objChannel = null;

private const int INT_DEFAULT_PORT = 8000;
private const string STR_DEFAULT_NAME = "ReportsServer.tcp";

public ReportService()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
// Create the TcpChannel
this._objChannel = new TcpChannel(INT_DEFAULT_PORT);
ChannelServices.RegisterChannel(this._objChannel, false);

// Register the Proxy class for remoting.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Report),
STR_DEFAULT_NAME,
WellKnownObjectMode.Singleton);

}

protected override void OnStop()
{
ChannelServices.UnregisterChannel(this._objChannel);
}
}
}

Willy Denoyette said:
But this doesn't answer the question whether you are using a Config file
or whether you are explicitly configuring the services and channels in
code. I would love to see the code that initializes the server side of
your remoting service.
Also, what's the exact error message received by the client when _the_
error occurs?


Willy.
 
P

Peter

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");

does not make any difference.
the client still is getting
"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."


I have tried to compile in Debug and Release and it did not make any
difference.

I know for a fact that the lines below get executed because I set the port
number in the same method.

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");


Steven Cheng said:
Hi Peter,

Based on the code snippet you provided, you have used the following code
to set the CustomErrorMode on server:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;

Didn't it work?

Based on my understanding, there are two means to set Custom Error mode
for
remoting service:

1. Programmatically set it via code, just like the code you provided, you
can set RemotingConfiguration.CustomErrorsMode at initialization time.

2. You can also use configuration file to set the custom error mode. e.g.

==========
<system.runtime.remoting>
<customErrors mode="Off" />
..
==========

However, you need to make sure you've called the following method so as to
tell the remoting runtime to load configuration from the app.config file:

=============
static void Init()
{
Console.WriteLine("Init...........................");

//here SimpleRemotingSln.ServerApp.exe is my server appliation's exe file
name.


RemotingConfiguration.Configure("SimpleRemotingSln.ServerApp.exe.config");
........
============

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no
rights.

--------------------
<003eda0c-26fb-48f9-91c5-24dfc359d2a3@x41g2000hsb.googlegroups.com>
<#0h#[email protected]>
<[email protected]>
Subject: Re: Windows Service config file
Date: Tue, 22 Apr 2008 21:12:36 -0500

Here's the error message on the client sided

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Here's the conde on the Server side.

namespace ReportsService
{
public partial class ReportService : ServiceBase
{
private TcpChannel _objChannel = null;

private const int INT_DEFAULT_PORT = 8000;
private const string STR_DEFAULT_NAME = "ReportsServer.tcp";

public ReportService()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
RemotingConfiguration.CustomErrorsMode =
CustomErrorsModes.Off;
// Create the TcpChannel
this._objChannel = new TcpChannel(INT_DEFAULT_PORT);
ChannelServices.RegisterChannel(this._objChannel, false);

// Register the Proxy class for remoting.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Report),
STR_DEFAULT_NAME,
WellKnownObjectMode.Singleton);

}

protected override void OnStop()
{
ChannelServices.UnregisterChannel(this._objChannel);
}
}
}

Willy Denoyette said:
I am using a Windows service with remoting

and I have tried both app.config file - where app = applicationname.exe
and I have tried RemotingConfiguration.CustomErrorsEnabled on the client
side and still getting the same error on the client.

My application name is ReportsService.exe
and the config file is ReportsService.exe.config



But this doesn't answer the question whether you are using a Config file
or whether you are explicitly configuring the services and channels in
code. I would love to see the code that initializes the server side of
your remoting service.
Also, what's the exact error message received by the client when _the_
error occurs?


Willy.
 
W

Willy Denoyette [MVP]

Peter said:
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");

does not make any difference.
the client still is getting
"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."


I have tried to compile in Debug and Release and it did not make any
difference.

I know for a fact that the lines below get executed because I set the port
number in the same method.

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");


Steven Cheng said:
Hi Peter,

Based on the code snippet you provided, you have used the following code
to set the CustomErrorMode on server:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;

Didn't it work?

Based on my understanding, there are two means to set Custom Error mode
for
remoting service:

1. Programmatically set it via code, just like the code you provided, you
can set RemotingConfiguration.CustomErrorsMode at initialization time.

2. You can also use configuration file to set the custom error mode. e.g.

==========
<system.runtime.remoting>
<customErrors mode="Off" />
..
==========

However, you need to make sure you've called the following method so as
to
tell the remoting runtime to load configuration from the app.config file:

=============
static void Init()
{
Console.WriteLine("Init...........................");

//here SimpleRemotingSln.ServerApp.exe is my server appliation's exe file
name.


RemotingConfiguration.Configure("SimpleRemotingSln.ServerApp.exe.config");
........
============

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you.
Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no
rights.

--------------------
<003eda0c-26fb-48f9-91c5-24dfc359d2a3@x41g2000hsb.googlegroups.com>
<#0h#[email protected]>
<[email protected]>
Subject: Re: Windows Service config file
Date: Tue, 22 Apr 2008 21:12:36 -0500

Here's the error message on the client sided

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Here's the conde on the Server side.

namespace ReportsService
{
public partial class ReportService : ServiceBase
{
private TcpChannel _objChannel = null;

private const int INT_DEFAULT_PORT = 8000;
private const string STR_DEFAULT_NAME = "ReportsServer.tcp";

public ReportService()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
RemotingConfiguration.CustomErrorsMode =
CustomErrorsModes.Off;
// Create the TcpChannel
this._objChannel = new TcpChannel(INT_DEFAULT_PORT);
ChannelServices.RegisterChannel(this._objChannel, false);

// Register the Proxy class for remoting.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Report),
STR_DEFAULT_NAME,
WellKnownObjectMode.Singleton);

}

protected override void OnStop()
{
ChannelServices.UnregisterChannel(this._objChannel);
}
}
}

I am using a Windows service with remoting

and I have tried both app.config file - where app =
applicationname.exe
and I have tried RemotingConfiguration.CustomErrorsEnabled on the client
side and still getting the same error on the client.

My application name is ReportsService.exe
and the config file is ReportsService.exe.config



But this doesn't answer the question whether you are using a Config
file
or whether you are explicitly configuring the services and channels in
code. I would love to see the code that initializes the server side of
your remoting service.
Also, what's the exact error message received by the client when _the_
error occurs?


Willy.



What is the value returned by CustomErrorsEnabled when called after the
after setting the CustomErrorsMode to Off?

....
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
bool customErrors = RemotingConfiguration.CustomErrorsEnabled(false);
// customErrors should be 'false', remote callers should get full exception
info including stack trace.....
....

Willy.
 
P

Peter

Willy Denoyette said:
Peter said:
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");

does not make any difference.
the client still is getting
"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."


I have tried to compile in Debug and Release and it did not make any
difference.

I know for a fact that the lines below get executed because I set the
port number in the same method.

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");


Steven Cheng said:
Hi Peter,

Based on the code snippet you provided, you have used the following
code
to set the CustomErrorMode on server:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;

Didn't it work?

Based on my understanding, there are two means to set Custom Error mode
for
remoting service:

1. Programmatically set it via code, just like the code you provided,
you
can set RemotingConfiguration.CustomErrorsMode at initialization time.

2. You can also use configuration file to set the custom error mode.
e.g.

==========
<system.runtime.remoting>
<customErrors mode="Off" />
..
==========

However, you need to make sure you've called the following method so as
to
tell the remoting runtime to load configuration from the app.config
file:

=============
static void Init()
{
Console.WriteLine("Init...........................");

//here SimpleRemotingSln.ServerApp.exe is my server appliation's exe
file
name.


RemotingConfiguration.Configure("SimpleRemotingSln.ServerApp.exe.config");
........
============

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments
and
suggestions about how we can improve the support we provide to you.
Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no
rights.

--------------------
From: "Peter" <[email protected]>
References: <[email protected]>
<003eda0c-26fb-48f9-91c5-24dfc359d2a3@x41g2000hsb.googlegroups.com>
<#0h#[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
Subject: Re: Windows Service config file
Date: Tue, 22 Apr 2008 21:12:36 -0500

Here's the error message on the client sided

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Here's the conde on the Server side.

namespace ReportsService
{
public partial class ReportService : ServiceBase
{
private TcpChannel _objChannel = null;

private const int INT_DEFAULT_PORT = 8000;
private const string STR_DEFAULT_NAME = "ReportsServer.tcp";

public ReportService()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
RemotingConfiguration.CustomErrorsMode =
CustomErrorsModes.Off;
// Create the TcpChannel
this._objChannel = new TcpChannel(INT_DEFAULT_PORT);
ChannelServices.RegisterChannel(this._objChannel, false);

// Register the Proxy class for remoting.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Report),
STR_DEFAULT_NAME,
WellKnownObjectMode.Singleton);

}

protected override void OnStop()
{
ChannelServices.UnregisterChannel(this._objChannel);
}
}
}

I am using a Windows service with remoting

and I have tried both app.config file - where app =
applicationname.exe
and I have tried RemotingConfiguration.CustomErrorsEnabled on the
client
side and still getting the same error on the client.

My application name is ReportsService.exe
and the config file is ReportsService.exe.config



But this doesn't answer the question whether you are using a Config
file
or whether you are explicitly configuring the services and channels in
code. I would love to see the code that initializes the server side of
your remoting service.
Also, what's the exact error message received by the client when _the_
error occurs?


Willy.



What is the value returned by CustomErrorsEnabled when called after the
after setting the CustomErrorsMode to Off?

...
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
bool customErrors = RemotingConfiguration.CustomErrorsEnabled(false);
// customErrors should be 'false', remote callers should get full
exception info including stack trace.....
...

Willy.

When I execute the following on the client side the customErrors returns
false :

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
bool customErrors = RemotingConfiguration.CustomErrorsEnabled(false);
 
W

Willy Denoyette [MVP]

Peter said:
Willy Denoyette said:
Peter said:
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");

does not make any difference.
the client still is getting
"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."


I have tried to compile in Debug and Release and it did not make any
difference.

I know for a fact that the lines below get executed because I set the
port number in the same method.

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");


Hi Peter,

Based on the code snippet you provided, you have used the following
code
to set the CustomErrorMode on server:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;

Didn't it work?

Based on my understanding, there are two means to set Custom Error mode
for
remoting service:

1. Programmatically set it via code, just like the code you provided,
you
can set RemotingConfiguration.CustomErrorsMode at initialization time.

2. You can also use configuration file to set the custom error mode.
e.g.

==========
<system.runtime.remoting>
<customErrors mode="Off" />
..
==========

However, you need to make sure you've called the following method so as
to
tell the remoting runtime to load configuration from the app.config
file:

=============
static void Init()
{
Console.WriteLine("Init...........................");

//here SimpleRemotingSln.ServerApp.exe is my server appliation's exe
file
name.


RemotingConfiguration.Configure("SimpleRemotingSln.ServerApp.exe.config");
........
============

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments
and
suggestions about how we can improve the support we provide to you.
Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no
rights.

--------------------
From: "Peter" <[email protected]>
References: <[email protected]>
<003eda0c-26fb-48f9-91c5-24dfc359d2a3@x41g2000hsb.googlegroups.com>
<#0h#[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
Subject: Re: Windows Service config file
Date: Tue, 22 Apr 2008 21:12:36 -0500

Here's the error message on the client sided

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Here's the conde on the Server side.

namespace ReportsService
{
public partial class ReportService : ServiceBase
{
private TcpChannel _objChannel = null;

private const int INT_DEFAULT_PORT = 8000;
private const string STR_DEFAULT_NAME = "ReportsServer.tcp";

public ReportService()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
RemotingConfiguration.CustomErrorsMode =
CustomErrorsModes.Off;
// Create the TcpChannel
this._objChannel = new TcpChannel(INT_DEFAULT_PORT);
ChannelServices.RegisterChannel(this._objChannel, false);

// Register the Proxy class for remoting.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Report),
STR_DEFAULT_NAME,
WellKnownObjectMode.Singleton);

}

protected override void OnStop()
{
ChannelServices.UnregisterChannel(this._objChannel);
}
}
}

I am using a Windows service with remoting

and I have tried both app.config file - where app =
applicationname.exe
and I have tried RemotingConfiguration.CustomErrorsEnabled on the
client
side and still getting the same error on the client.

My application name is ReportsService.exe
and the config file is ReportsService.exe.config



But this doesn't answer the question whether you are using a Config
file
or whether you are explicitly configuring the services and channels
in
code. I would love to see the code that initializes the server side
of
your remoting service.
Also, what's the exact error message received by the client when
_the_
error occurs?


Willy.



What is the value returned by CustomErrorsEnabled when called after the
after setting the CustomErrorsMode to Off?

...
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
bool customErrors = RemotingConfiguration.CustomErrorsEnabled(false);
// customErrors should be 'false', remote callers should get full
exception info including stack trace.....
...

Willy.

When I execute the following on the client side the customErrors returns
false :

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
bool customErrors = RemotingConfiguration.CustomErrorsEnabled(false);



You need to execute this at the server side! It makes no sense to do this on
the client, it's the server that sends error information to the client when
an error occurs.


Willy.
 
P

Peter

Willy Denoyette said:
Peter said:
Willy Denoyette said:
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");

does not make any difference.
the client still is getting
"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."


I have tried to compile in Debug and Release and it did not make any
difference.

I know for a fact that the lines below get executed because I set the
port number in the same method.

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
or
RemotingConfiguration.Configure("ReportsServer.exe.config");


Hi Peter,

Based on the code snippet you provided, you have used the following
code
to set the CustomErrorMode on server:

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;

Didn't it work?

Based on my understanding, there are two means to set Custom Error
mode for
remoting service:

1. Programmatically set it via code, just like the code you provided,
you
can set RemotingConfiguration.CustomErrorsMode at initialization time.

2. You can also use configuration file to set the custom error mode.
e.g.

==========
<system.runtime.remoting>
<customErrors mode="Off" />
..
==========

However, you need to make sure you've called the following method so
as to
tell the remoting runtime to load configuration from the app.config
file:

=============
static void Init()
{
Console.WriteLine("Init...........................");

//here SimpleRemotingSln.ServerApp.exe is my server appliation's exe
file
name.


RemotingConfiguration.Configure("SimpleRemotingSln.ServerApp.exe.config");
........
============

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments
and
suggestions about how we can improve the support we provide to you.
Please
feel free to let my manager know what you think of the level of
service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no
rights.

--------------------
From: "Peter" <[email protected]>
References: <[email protected]>
<003eda0c-26fb-48f9-91c5-24dfc359d2a3@x41g2000hsb.googlegroups.com>
<#0h#[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
Subject: Re: Windows Service config file
Date: Tue, 22 Apr 2008 21:12:36 -0500

Here's the error message on the client sided

"Server encountered an internal error. For more information, turn off
customErrors in the server's .config file."

Here's the conde on the Server side.

namespace ReportsService
{
public partial class ReportService : ServiceBase
{
private TcpChannel _objChannel = null;

private const int INT_DEFAULT_PORT = 8000;
private const string STR_DEFAULT_NAME = "ReportsServer.tcp";

public ReportService()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
RemotingConfiguration.CustomErrorsMode =
CustomErrorsModes.Off;
// Create the TcpChannel
this._objChannel = new TcpChannel(INT_DEFAULT_PORT);
ChannelServices.RegisterChannel(this._objChannel, false);

// Register the Proxy class for remoting.
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Report),
STR_DEFAULT_NAME,
WellKnownObjectMode.Singleton);

}

protected override void OnStop()
{
ChannelServices.UnregisterChannel(this._objChannel);
}
}
}

I am using a Windows service with remoting

and I have tried both app.config file - where app =
applicationname.exe
and I have tried RemotingConfiguration.CustomErrorsEnabled on the
client
side and still getting the same error on the client.

My application name is ReportsService.exe
and the config file is ReportsService.exe.config



But this doesn't answer the question whether you are using a Config
file
or whether you are explicitly configuring the services and channels
in
code. I would love to see the code that initializes the server side
of
your remoting service.
Also, what's the exact error message received by the client when
_the_
error occurs?


Willy.










What is the value returned by CustomErrorsEnabled when called after the
after setting the CustomErrorsMode to Off?

...
RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
bool customErrors = RemotingConfiguration.CustomErrorsEnabled(false);
// customErrors should be 'false', remote callers should get full
exception info including stack trace.....
...

Willy.

When I execute the following on the client side the customErrors returns
false :

RemotingConfiguration.CustomErrorsMode = CustomErrorsModes.Off;
bool customErrors = RemotingConfiguration.CustomErrorsEnabled(false);



You need to execute this at the server side! It makes no sense to do this
on the client, it's the server that sends error information to the client
when an error occurs.


Willy.

Thank You

executing bool customErrors =
RemotingConfiguration.CustomErrorsEnabled(false);
on the server side did the trick.
 
S

Steven Cheng [MSFT]

Hi Peter,

Yes, as Willy mentioned, generally the CustomErrorMode means the Mode on
server-side because that controls whether the detailed error info will be
output to client-side. Therefore, now your remoting application's custom
error should has been turned off and the exception info is the full info
come from server-side.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).

==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
<003eda0c-26fb-48f9-91c5-24dfc359d2a3@x41g2000hsb.googlegroups.com>
Subject: Re: Windows Service config file
Date: Wed, 23 Apr 2008 14:53:36 -0500
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top