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
|
|