Print Page | Close Window

ServerConsole.exe and NAT

Printed From: IdeaBlade
Category: DevForce
Forum Name: DevForce Classic
Forum Discription: For .NET 2.0
URL: http://www.ideablade.com/forum/forum_posts.asp?TID=712
Printed Date: 23-Apr-2024 at 3:20am


Topic: ServerConsole.exe and NAT
Posted By: antalakas
Subject: ServerConsole.exe and NAT
Date Posted: 04-Mar-2008 at 2:37pm
I use ServerConsole.exe to host a BOS instance for testing purposes.

Inside my network everything is fine. I can "see" BOS from a client deployed on a different pc.
I install the client to a machine outside my network. In this case i cannot login to the loginmanager (BOS)

I understand this is a NAT problem. I have read the workaround for IIS (manual, page 486, machineName).
My question is this deployment scenario possible (using ServerConsole or Windows service)? Is IIS deployment
the only way to use BOS behind a firewall?

Thank you

Andreas



Replies:
Posted By: davidklitzke
Date Posted: 05-Mar-2008 at 1:59pm
If you cannot login to the machine outside the network, this is probably a NAT issue, but could possibly be some kind of network error.   If it is a NAT error, you will probably get some kind of corrupted packet message,
 
You cannot fix the problem by modifying the Web.config file because the Console Server does not use the Web.config file.  However, you may be able to fix the problem by modifying the Server App.config file.
 
If you want to use the BOS behind a firewall,  I recommend that you use either IIS (or WCF) and not a Console Server or Windows Service
 
 


Posted By: antalakas
Date Posted: 06-Mar-2008 at 7:43am
I used ServerConsole.exe as a WCF host. I think that i should not have NAT issues, as i have implemented at least 5 WCF services and deployed them behind a firewall with no problems. I can only understand that, although ServerConsole.exe is a normal WCF host, it is governed by rules that deny NAT access. I asked why this happens. I only used it for testing purposes.
Then started ServerConsole.exe and used a port scanner to test if port 9009 "goes through", and it did...

To go further, i tried the tutorial for IIS (WCF IIS deployment) and on my machine everything was perfect.

When i deployed at another IIS (either in the local network or the Internet), i cannot login.

http://IP_Address/WcfQuickAppCS/TestAsa.aspx displays correctly.

Here is the error, any ideas?:

Thank you!

2008-03-06 17:21:55
IdeaBlade.Persistence.Rdb RdbQuerySqlFormatter::Fetch RdbKey: [default] Sql: select * from "dbo"."User" where ((1 = 0))
2008-03-06 17:21:55
IdeaBlade.Persistence.Server PersistenceServer::Fetch System.Data.OleDb.OleDbException: Invalid object name 'dbo.User'. at System.Data.OleDb.OleDbDataReader.ProcessResults(OleDbHResult hr) at System.Data.OleDb.OleDbDataReader.NextResult() at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method) at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.OleDb.OleDbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) at IdeaBlade.Persistence.Rdb.RdbQuerySqlFormatter.Fetch(Type pEntityType, DataSet pDataSet, IDbSelectCommandBuilder pDbCommandBuilder) at IdeaBlade.Persistence.Rdb.RdbQuerySqlFormatter.Fetch(Type pEntityType, DataSet pDataSet, ParameterizedSql pParamSql, Int32 pCommandTimeout) at IdeaBlade.Persistence.Rdb.RdbQuery.Fetch(DataSet pDataSet, IDataSourceKey pDataSourceKey) at IdeaBlade.Persistence.Server.PersistenceServer.Fetch(IEntityQuery pQuery, DataSet pDataSet, IDataSourceKey pDsKey) at IdeaBlade.Persistence.Server.PersistenceServer.Fetch(SessionBundle pSessionBundle, IEntityQuery pEntityQuery)



Posted By: davidklitzke
Date Posted: 07-Mar-2008 at 10:41am
It doesn't look to me that you are having a NAT problem.  Usually,with a NAT problem, the client will see the packet sent from the server back to the client as a corrupted packet, and you will get some communication error (e.g., "packet contains  invalid binary header").  In your case, the server is having problems talking to the database (Invalid object name 'dbo.User').
 
Try using a database profiler to see why the database is rejecting the query.


Posted By: antalakas
Date Posted: 08-Mar-2008 at 12:21am
You are right, something went wrong when restoring IdeaBlade 's db on the server.

Thank you

Andreas


-------------
Andreas Ntalakas



Print Page | Close Window