Move the processing on to the server?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Windows Visual C# / SQL Server 2000

I am new ish to the .Net world of development, and am sure this is a pretty
basic question, but I'll ask anyway.

In my past development experience (Progress) we had a technology called
AppServer. Basically all the business logic runs on the server where the
database is, and the screens on the client have no references to the DB at
all, but instead run code on the server, which returns the data for the
screen.

What is the .Net world equivalent to this?

Thanks

Steve
 
The thing you referred to might be COM+, which can still be used in .NET
app. In pure .NET world, though, the equivalent would be Remoting and Web
Services, or Window Communication Foundation (WCF) in upcoming .NET3.0
 
The problem I am having is when my app is run at remote sites. The DB is on
a server here at our main office, but the app is out at various sites and the
performance out at these sites is very poor. A search that takes 8 seconds
here is taking 1min 5seconds out at site! Some of this could be the line we
have between the site and here, so I am thinking that if all the processing
was done here on the server, then I could just spit back the dataset. Is
this what remoting is for?

Thanks

Steve
 
IMO the first step is to see exactly what the application does. For example
if the DB is a file server or client server, if all records are retrieved
and then filtered client side or if the server is doing the filtering etc to
see what causes this additional delay...
 
I have some code, which is running on the client, which basically creates a
SQL connection object, which is a call to a stored procedure, passing in some
parameters. I then use a SQLDataReader to run through these records to do
some further processing. Something like this:

SqlConnection conSQL = new SqlConnection(GetConnectionString());
conSQL.Open();
SQLCommand comSQL = new SqlCommand("FetchWorkRequests",conSQL);

SqlDataAdapter daWork = new SqlDataAdapter(connect.comSQL);

try
{
daWork.Fill(dsReturn.WorkRequest);
}
catch(Exception exp)
{
string s = exp.Message.ToString();
}

foreach(dsWorkSchedule.WorkRequestRow wrow in dsReturn.WorkRequest.Rows)
{
wrow.zAsset = AssetFunc.GetAssetName(wrow.AssetObj);
wrow.zCoordinator = EmployeeFunc.GetEmployee(wrow.CoordinatorObj);
wrow.zCraft = CraftFunc.GetCraftName(wrow.CraftObj);
.......
}
 
Back
Top