HttpListenerRequest
имеет свойство IsLocal
, которое также должно предоставлять эту информацию. Тем не менее, он возвращает false
на моем компьютере. При отражении в исходном коде создается впечатление, что это связано с тем, что свойство IsLocal
использует код:
return this.LocalEndPoint.Address == this.RemoteEndPoint.Address;
когда, возможно, ему следует использовать код в (недоступном) свойстве InternalIsLocal
, которое:
return this.LocalEndPoint.Address.Equals(this.RemoteEndPoint.Address);
(это выражение возвращает true
для моей ситуации). Использование этого подхода может быть предпочтительным, чтобы ваш код не зависел от адреса IPv4, поскольку выполняется переход на IPv6.