【发布时间】:2011-03-13 23:24:39
【问题描述】:
我希望能够获取托管应用程序的网址。客户端将通过多种方式访问服务层,通过 asp.net mvc 应用程序 wcf(托管在 mvc 应用程序上)。
我的服务层在一个 dll 中。当远程客户端使用系统的任一入口点时,有什么方法可以让我获得指向特定操作的 url?
【问题讨论】:
标签: asp.net-mvc wcf asp.net-mvc-3
我希望能够获取托管应用程序的网址。客户端将通过多种方式访问服务层,通过 asp.net mvc 应用程序 wcf(托管在 mvc 应用程序上)。
我的服务层在一个 dll 中。当远程客户端使用系统的任一入口点时,有什么方法可以让我获得指向特定操作的 url?
【问题讨论】:
标签: asp.net-mvc wcf asp.net-mvc-3
这是可能的 - 但不是一件好事。您正在将业务层绑定到更高层的实现细节,而业务层应该不知道。
您可以使用各种OperationContext.Current 属性(取决于您的绑定)来获取地址。
例如,OperationContext.Current.IncomingMessageHeaders 可用于 HTTP 或 OperationContext.Current.Host.BaseAddresses(如果有基地址)。您只需要根据您的配置评估哪一个提供了您正在寻找的地址。
【讨论】: