关于asp.net mvc:从服务层获取基本URL

Get Base URL from service layer

我想能够得到应用程序所在的URL。客户机可以通过ASP.NET MVC应用程序、WCF(托管在MVC应用程序上)访问服务层。

我的服务层在一个DLL中。当远程客户机使用系统的任一入口点时,是否有任何方法可以获取指向特定操作的URL?


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

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

例如,如果有基地址,则可以将OperationContext.Current.IncomingMessageHeaders用于HTTP或OperationContext.Current.Host.BaseAddresses。您只需要根据您的配置评估哪个地址提供了您要查找的地址。