I have a WPF app that utilizes WCF to send data to a server. Works great in my development environment, but when I publish it via Click Once it will not work, the send times out. The kicker is if I navigate to the sub folder that Click Once installs to it runs fine. The only place that it fails is when it is spawned from the Click Once app. The app utilizes three different service and two of the three work perfectly with this binding even when spawned via Click Once. The service that fails is a function that accepts a 30K package and returns a receipt. The others just in data.
Here is my WCF binding. Here is the error message:
<binding name="netTCPActivity"
closeTimeout="00:01:00"
openTimeout="00:00:01"
receiveTimeout="00:01:00"
sendTimeout="00:01:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions"
hostNameComparisonMode="StrongWildcard" listenBacklog="100" max开发者_Go百科BufferPoolSize="152428800" maxBufferSize="50000000"
maxConnections="300" maxReceivedMessageSize="50000000" portSharingEnabled="true">
<readerQuotas maxDepth="32" maxStringContentLength="81920" maxArrayLength="6638400"
maxBytesPerRead="40960" maxNameTableCharCount="563840" />
<reliableSession ordered="true" inactivityTimeout="00:00:20" enabled="false" />
<security mode="None" />
</binding>
This request operation sent to net.tcp://172.26.17.130:8015/TARP did not receive a reply within the configured timeout (00:00:59.9843744).
The time allotted to this operation may have been a portion of a longer timeout. This may be because the service is still processing the operation or because the service was unable to send a reply message. Please consider increasing the operation timeout (by casting the channel/proxy to IContextChannel and setting the OperationTimeout property) and ensure that the service is able to connect to the client.It seems a little odd that this could be a ClickOnce issue. Either way, I would approach debugging it the same way. First, install Fiddler. It's a great tool to see network traffic. Run Fiddler and then run your app from the exe. You should see all the service traffic in Fiddler. Next, run your app with ClickOnce. Compare the working service calls with the broken ones and hopefully something will pop out at you.
your question is a bit unclear. it works when you skip the clickonce launcher? or it never works outside of development enironment?
are you trying to run the ClickOnce app from your development machine or some testing machine? if using testing machine maybe the server IP you are trying to reach cannot be reached by the testhing machine but can by the development machine, can you verify by pinging it from the testing machine?
精彩评论