如何在C#代码中获取当前运行的WCF服务的Web地址?例如,在函数内部的Web服务调用期间,我正在寻找“this”和当前正在执行/正在运行的服务的基地址。此服务将像“http:// localhost:2342342 / WebServiceName1.svc”一样运行,我希望在代码中的服务内部运行时获取此地址。我之所以得到自动地址而不是硬编码地址,是因为当我将服务投入生产或移动服务时,我希望拥有动态地址。我想在服务初始化期间使用此服务地址设置额外的值。
另一方面,是否有任何与内置WCF相关联的唯一ID和guid。例如,如果我在具有Web地址的2个单独服务器上运行相同的服务,是否有办法获取并设置一个唯一的ID每项服务。唯一的办法是通过服务的地址?每个服务上的相同服务,多个服务器和不同的数据处理。
答案 0 :(得分:3)
要知道WCF服务内部WCF的当前地址,请使用以下命令:
Uri address = OperationContext.Current.IncomingMessageHeaders.To;