We help IT Professionals succeed at work.

Is WCF the wrong approach?

rpm
rpm used Ask the Experts™
on
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
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
which binding you are using???
TCP or basichttp or wshttp.

also check for firewall on server side....
rpm

Author

Commented:
Does the following answer your question?

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.serviceModel>
        <behaviors>            <serviceBehaviors>
                <behavior name="EPOSServer.EPOSServiceBehavior">
                    <serviceMetadata httpGetEnabled="true" />
                    <serviceDebug includeExceptionDetailInFaults="false" />
                </behavior>
            </serviceBehaviors>
        </behaviors>
        <services>
            <service behaviorConfiguration="EPOSServer.EPOSServiceBehavior"
                name="EPOSServer.EPOSService">
                <endpoint address="" binding="wsHttpBinding" contract="EPOSServer.IEPOSService">
                    <identity>
                        <dns value="localhost" />
                    </identity>
                </endpoint>
                <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                <host>
                    <baseAddresses>
                        <add baseAddress="http://Office10:8731/Design_Time_Addresses/EPOSServer/EPOSService/" />
                    </baseAddresses>
                </host>
            </service>
        </services>
    </system.serviceModel>
</configuration>
Most Valuable Expert 2012
Top Expert 2014

Commented:
rpm

Author

Commented:
To be honest, I have no idea what that means!
Commented:
I have given up with WCF in the end!
rpm

Author

Commented:
No usable answer was forthcoming!