I am deploying a web application to a remote server. I set up IIS 7 and the site comes up.
As part of the web application there is a service reference to a wcf service.
All of this works fine on my localhost everything runs.
I never did anything with the service itself on the deployment server. I just set up the web application in IIS. Now I am getting an socket exception error that could be from a few thing, I just want to eliminate my options……
My question is do I have to publish the service as part of my deployment process or since I published the web application with a service reference attached to it I should be ok?
Here is my web config portion of the service as you can see there is a reference to localhost (this cant be good) how is this resolved?
</system.webServer>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IHSSWcfServices" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:49506/IHSSWcfServices.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IHSSWcfServices"
contract="ServiceReference1.IHSSWcfServices" name="BasicHttpBinding_IHSSWcfServices" />
</client>
</system.serviceModel>
You do not have to publish the service as part of the deployment process for the application(otherwise, an ASP.NET application could never talk to an externally published service).
Just make sure that the service address you are trying to communicate with is the actual address of the hosted service (and not
localhost, for instance, which would work on your machine, but not once it is deployed).If you are writing the service and the client, the service does have to be deployed somewhere, and that somewhere must be accessible to the deployed location of the client. The deployment of the service is, however, independent of the deployment of the client.