【发布时间】:2011-10-12 15:43:37
【问题描述】:
我有一个 WCF 服务合同实现,它既可以用作普通 dll,也可以用作 Web 服务。有什么方法可以识别(从其代码中)它是如何使用的。 更具体地说,我需要在这些情况下抛出不同的异常。
谢谢
【问题讨论】:
-
需要更多信息。你有示例代码吗,如果这是一个闭源组件,你有示例客户端代码吗?
-
能否使用 OperationContext 类找出调用 WCF 服务的机器的 IP 地址,看看是否是您的 Web 服务器的地址?
-
嗯,很简单。我有一个公共类 Service:IService{},其中 IService 被定义为 ServiceContract。服务可以通过 web 服务中的端点公开,或者只是通过引用应用程序中的 dll 来访问。
-
DLL 本身是否也包含 WCF 宿主代码,或者 DLL 是否只是由 WCF 宿主加载,以防它作为 WebService 公开?这种情况下的主机是什么(IIS...)?