gpt4 book ai didi

c# - 在 WCF 中获取调用者的主机名

转载 作者:太空狗 更新时间:2023-10-29 20:12:19 27 4
gpt4 key购买 nike

我正在用 WCF 服务替换现有的 Web 服务,作为迁移的第一步,我将使用 BasicHttpBinding 公开端点,直到客户端在今年晚些时候升级。

计划是使用 Windows 服务托管新的 WCF 服务(该服务只会从 Intranet 中调用,因此实际上并不需要 HTTP),但同时公开 Basic HTTP 和 Net.TCP 端点,以便迁移可以分阶段发生。

但是,我在我的 WCF 服务中获取调用者的主机名时遇到了一些问题,查看它使用 Context.Request.UserHostName 获取主机名的当前 Web 服务代码。我已经设法获取调用者的用户名和 IP 地址,但是环境中所有相关的权限/安全服务都使用主机名而不是 IP,那么我有什么方法可以在我的服务中获取主机名吗?

附言我已将安全模式设置为 TransportCredentialOnly,并将 clientCredientialType 设置为 Windows

最佳答案

因为您没有在 IIS 中托管,所以您不能使用 ASP.NET compatibility mode访问 HttpContext通常会出现在 ASP.NET 进程中。

相反,您可以使用 GetHostEntry methodDns class 上在System.Net namespace得到 IPHostEntry instance其中将包含您正在获取的 IP 地址的别名(DNS 名称)。

关于c# - 在 WCF 中获取调用者的主机名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/566011/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com