
我使用 .NET 創建了一個服務安裝包 (msi),該安裝包在運行時會安裝一個旨在運行 Apache Solr 實例的 Windows 服務(以幫助從 Web 應用程式進行搜尋)。我在託管 Solr 的同一台電腦上執行該服務。當我啟動它時,我得到:
服務無法啟動。 System.Net.WebException:無法連接到遠端伺服器 ---> System.Net.Sockets.SocketException:無法建立連接,因為目標電腦主動拒絕它 [MachineIP]:8983 at System.Net.Sockets.Socket .DoConnect(EndPoint endpoingSnapshot, SocketAddress socketAddress) at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& 套接字, IPAddress& 地址, ConnectSocketState 狀態, IAsyncResult asyncResult, Int32 超時, Exception& 異常) --- 結束內部異常堆棧追蹤--- 在System.Net.HttpWebRequest.GetResponse() 在SOLRService.SolrService.OnStart(String[] args) 在System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)
其中 [MachineIP] 是盒子的 IP。再次,我嘗試從它嘗試連接的同一個盒子啟動該服務。我嘗試 ping 它自己的 IP,只是為了好玩,結果很好。我只是不明白為什麼伺服器會主動拒絕與其自身的連線。我們已經能夠讓它在開發中發揮作用。
謝謝。
答案1
Connection refused
表示該連接埠上沒有任何內容正在偵聽(在您的情況下為 8983)。啟動應該會偵聽該連接埠上的連線的服務。