rpm
asked on
Is WCF the wrong approach?
Hi,
I am trying to write a pair of client/server apps.
The server app will run on a single machine on a network. The client app will run on up to five computers on the same LAN as the server app. One of these may or may not be the same machine as the server app.
So far I have developed the following:
The server app starts up and logs all actions to a SQL database.
The client app starts up, gets a username and password and validates them via the server app, and then polls the server app once per minute to make sure it is still running.
The server app implements a WCF service, and the client app connects to this to verify the username and password, and to poll the server app.
If I just run the server and client on the same computer it works fine.
When I try to connect the client app on a different computer on the LAN, it works, but it is *very* slow.
If I try to connect two or three client apps, I get timeouts all over the place!
Am I wrong to try and do this with WCF, and if so, what should I be using?
If WCF is the right approach, why is the performance so terrible?
Richard
I am trying to write a pair of client/server apps.
The server app will run on a single machine on a network. The client app will run on up to five computers on the same LAN as the server app. One of these may or may not be the same machine as the server app.
So far I have developed the following:
The server app starts up and logs all actions to a SQL database.
The client app starts up, gets a username and password and validates them via the server app, and then polls the server app once per minute to make sure it is still running.
The server app implements a WCF service, and the client app connects to this to verify the username and password, and to poll the server app.
If I just run the server and client on the same computer it works fine.
When I try to connect the client app on a different computer on the LAN, it works, but it is *very* slow.
If I try to connect two or three client apps, I get timeouts all over the place!
Am I wrong to try and do this with WCF, and if so, what should I be using?
If WCF is the right approach, why is the performance so terrible?
Richard
ASKER
Does the following answer your question?
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors> <serviceBehaviors>
<behavior name="EPOSServer.EPOSServi ceBehavior ">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFa ults="fals e" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="EPO SServer.EP OSServiceB ehavior"
name="EPOSServer.EPOSServi ce">
<endpoint address="" binding="wsHttpBinding" contract="EPOSServer.IEPOS Service">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchang e" />
<host>
<baseAddresses>
<add baseAddress="http://Office10:8731/Design_Time_Addresses/EPOSServer/EPOSService/" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<behaviors> <serviceBehaviors>
<behavior name="EPOSServer.EPOSServi
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFa
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="EPO
name="EPOSServer.EPOSServi
<endpoint address="" binding="wsHttpBinding" contract="EPOSServer.IEPOS
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchang
<host>
<baseAddresses>
<add baseAddress="http://Office10:8731/Design_Time_Addresses/EPOSServer/EPOSService/" />
</baseAddresses>
</host>
</service>
</services>
</system.serviceModel>
</configuration>
See if last comment helps
http://stackoverflow.com/questions/4040986/why-its-so-slow-when-a-wcf-client-connects-to-the-service
http://stackoverflow.com/questions/4040986/why-its-so-slow-when-a-wcf-client-connects-to-the-service
ASKER
To be honest, I have no idea what that means!
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
No usable answer was forthcoming!
TCP or basichttp or wshttp.
also check for firewall on server side....