有关将WCF服务添加到Windows服务程序集的问题

时间:2011-11-09 18:42:37

标签: wcf c#-4.0 windows-services

我找到了一些关于在Windows服务中托管WCF服务的基本信息,但并不多。到目前为止,我使用WCF的所有经验都在Web项目中。我有几个简单的问题。

我有一个创建Windows服务应用程序的项目。我做了一次右击 - >添加WCF服务。这将创建Service1.cs和IService1.cs。

  1. 我想知道为什么在这种情况下没有创建SVC文件?当我向Web项目添加服务时,我得到一个SVC文件,我可以导航到并使用它来使用该服务。

  2. 添加服务会在services元素下的app.config中添加一些配置。我看到了

    的默认基地址

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

  3. 这是什么意思?这有点奇怪的地址。我应该把它变成我想要的吗?

    1. 在浏览器中导航到此地址会导致无法连接消息。 Windows服务本身是否必须运行才能与WCF服务通信?

    2. 如何在没有svc文件的情况下从其他应用程序中使用此服务?

1 个答案:

答案 0 :(得分:1)

  • 我正在猜测第一个,但我想在IIS中托管时的.svc文件是告诉IIS,“嘿,我在这里有一个WCF服务,请处理相应地”。
  • 基本地址是应该的,是的,如果我没弄错的话,你可以改变它。
  • 除非Windows服务正在运行,否则无法访问WCF服务,这是在Windows服务中托管的危险之一,因为如果服务以某种方式死亡,则WCF服务处于脱机状态,直到您再次运行Windows服务为止
  • 您使用与使用任何其他WCF服务相同的方式使用服务,只需使用该基本地址即可获得服务。
  • 相关问题