【发布时间】:2014-02-23 01:29:21
【问题描述】:
我正在 Windows 服务器上运行 asp.net web api 应用程序。我有 2 个具有不同 IP 地址的站点。当应用程序部署在其中一个站点上时,IsLocal 为真,而在另一个站点上部署时,则为假。
查看源代码,归结为:
[DllImport("aspnet_state.exe", CharSet=CharSet.Ansi)]
internal static extern void STWNDGetLocalAddress(IntPtr tracker, StringBuilder buf);
这是返回本地地址的方法,为什么第二个ip无效?网络配置如下所示(.79 ip-address 是 IsLocal 返回 false 的那个)
如何让 IsLocal 考虑第二个 ip?
【问题讨论】:
-
虽然我找不到这个问题的答案。有一种解决方法可以满足您的需求@strathweb.com/2013/01/adding-request-islocal-to-asp-net-web-api
-
看起来很简洁,但该解决方案也使用 STWNDGetLocalAddress,所以我认为它不会提供 .79 地址。
-
你看了吗@stackoverflow.com/questions/11849501/…。只是一个建议。如果已经通过它,请跳过
标签: asp.net asp.net-web-api windows-server