从服务层获取 Base URL

Posted

技术标签:

【中文标题】从服务层获取 Base URL【英文标题】:Get Base URL from service layer 【发布时间】:2011-03-13 23:24:39 【问题描述】:

我希望能够获取托管应用程序的网址。客户端将通过多种方式访问​​服务层,通过 asp.net mvc 应用程序 wcf(托管在 mvc 应用程序上)。

我的服务层在一个 dll 中。当远程客户端使用系统的任一入口点时,有什么方法可以让我获得指向特定操作的 url?

【问题讨论】:

查看相关问题:***.com/questions/1288046/… 【参考方案1】:

这是可能的 - 但不是一件好事。您正在将业务层绑定到更高层的实现细节,而业务层应该不知道。

您可以使用各种OperationContext.Current 属性(取决于您的绑定)来获取地址。

例如,OperationContext.Current.IncomingMessageHeaders 可用于 HTTP 或 OperationContext.Current.Host.BaseAddresses(如果有基地址)。您只需要根据您的配置评估哪一个提供了您正在寻找的地址。

【讨论】:

以上是关于从服务层获取 Base URL的主要内容,如果未能解决你的问题,请参考以下文章

使用 Cesium 在 Geoserver 上无法获取(找不到正确的 url)Tile 层

如何从地理服务器中的图层获取样式

leaflet获取arcgis服务图层所有信息

ffmpeg如何从url获取视频帧数据

业务层与服务层的服务引用

Asp.Net - 从不同的应用程序层异步调用 web 服务,而不是页面本身