2010-10-27 55 views
0

我有一個WPF應用程序,利用WCF發送數據到服務器。在我的開發環境中工作得很好,但是當我通過點擊一次發佈它不起作用時,發送超時。踢球者是如果我導航到一次點擊安裝到它運行良好的子文件夾。唯一失敗的地方是它從Click Once應用程序產生的時間。該應用程序利用三種不同的服務,三種中的兩種可以完美地與該綁定一起工作,即使通過點擊一次產生。失敗的服務是一個接受30K包並返回收據的函數。其他人只是在數據。什麼會導致使用WCF的WPF在發佈時無法運行?

這是我的WCF綁定。 以下是錯誤消息:發送給的net.tcp

<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" maxBufferPoolSize="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> 

此請求操作://172.26.17.130:8015/TARP沒有收到配置的超時內答覆(00:00:59.9843744)。
分配給此操作的時間可能是較長超時的一部分。這可能是因爲該服務仍在處理該操作,或者因爲該服務無法發送回覆消息。請考慮增加操作超時(將通道/代理強制轉換爲IContextChannel並設置OperationTimeout屬性爲 ),並確保服務能夠連接到客戶端。

回答

-1

你的問題有點不清楚。它可以在您跳過clickonce啓動器時起作用?或者它從未在開發環境之外工作?

您是否試圖從開發機器或某些測試機器運行ClickOnce應用程序?如果使用測試機器,可能您試圖訪問的服務器IP不能通過測試機器到達,但可以通過開發機器,您是否可以通過從測試機器ping測試機器來驗證它?

+0

這些應用程序在從Clickonce啓動時的其他任何情況下都能很好地工作。在我的開發機器上,我可以從exe,代碼和Clickonce的安裝位置運行應用程序。但如果我通過Clickonce啓動器運行它,它會炸彈。 – user38349 2010-10-27 23:17:57

2

這似乎有點奇怪,這可能是一個ClickOnce問題。無論哪種方式,我都會以同樣的方式調試它。首先,安裝Fiddler。這是查看網絡流量的絕佳工具。運行Fiddler,然後從exe中運行你的應用程序。您應該看到Fiddler中的所有服務流量。接下來,使用ClickOnce運行您的應用程序。將工作中的服務電話與破損的服務電話進行比較,並希望有東西會出現在您身上。

相關問題