2011-11-09 25 views
0

我發現了有關在Windows服務中託管WCF服務的一些基本信息,但不多。到目前爲止,我所有的WCF經驗都在Web項目中。我有幾個簡單的問題。有關將WCF服務添加到Windows服務程序集的問題

我有一個創建Windows服務應用程序的項目。我做了一個右鍵單擊 - >添加WCF服務。這將創建Service1.cs和IService1.cs。

  1. 我不知道爲什麼在這種情況下沒有創建SVC文件?當我向Web項目添加服務時,我得到一個SVC文件,我可以導航並使用它來使用該服務。

  2. 添加服務將一些配置添加到services元素下的app.config。我看到的

    http://localhost:8732/Design_Time_Addresses/WindowsServiceName.services/WCFServiceName/

默認基址是什麼意思?這是一個奇怪的地址。我應該改變它到我想要的?

  1. 在瀏覽器中導航到此地址會導致無法連接消息。 Windows服務本身是否必須運行才能與WCF服務通話?

  2. 如何從另一個應用程序中使用此服務而不使用svc文件?

回答

1

  • 我走在這第一個猜測,但在IIS託管時,我想.svc文件是告訴IIS,「嘿,我有一個WCF服務在這裏,請相應的處理」 。
  • 基地址是它應該是的,是的,如果我沒有弄錯你可以改變它。
  • 除非Windows服務正在運行,否則您不能擊中WCF服務,這是Windows服務託管的危險之一,因爲如果服務在某種程度上死於您的WCF服務脫機,直到您再次運行Windows服務。
  • 您可以像使用其他WCF服務一樣使用該服務,只需使用該基地址即可獲取該服務。
  • +0

    謝謝。引發地址的部分是'design_time_addresses'。讓我相信這在運行時不會成爲有效的地址。 – Erix