intersect
ожидает два полигона в качестве своих параметров, но вы задаете ему точку, поэтому отсутствует свойство length
:
Принимает два полигона и находит их пересечение
blockquote>Вместо этого попробуйте
turf.booleanWithin(theMarker.toGeoJSON(), layer.toGeoJSON())
:Boolean-Within возвращает true, если первая геометрия полностью находится во второй геометрии.
BLOCKQUOTE>
Спасибо за информацию Corazza!
Я выяснил, как выполнить это. Я шел об этом всем неправильном пути.
Моя конечная цель должна была иметь сервис, слушающий на каждом IP-адресе, доступном на машине. Попытка связать с каждым адресом индивидуально является неправильным способом сделать это.
Вместо этого я только должен был связать сервис с Именем хоста машины (не 'localhost'), и WCF автоматически слушает на всех адаптерах.
Вот исправленный код:
public static void StartHosts()
{
try
{
// Formulate the uri for this host
string uri = string.Format(
"net.tcp://{0}:{1}/ServerTasks",
Dns.GetHostName(),
ServerSettings.Instance.TCPListeningPort
);
// Create a new host
ServiceHost host = new ServiceHost(typeof(ServerTasks), new Uri(uri));
// Add the endpoint binding
host.AddServiceEndpoint(
typeof(ServerTasks),
new NetTcpBinding(SecurityMode.Transport)
{
TransferMode = TransferMode.Streamed
},
uri
);
// Add the meta data publishing
var smb = host.Description.Behaviors.Find<ServiceMetadataBehavior>();
if (smb == null)
smb = new ServiceMetadataBehavior();
smb.MetadataExporter.PolicyVersion = PolicyVersion.Policy15;
host.Description.Behaviors.Add(smb);
host.AddServiceEndpoint(
ServiceMetadataBehavior.MexContractName,
MetadataExchangeBindings.CreateMexTcpBinding(),
"net.tcp://localhost/ServerTasks/mex"
);
// Run the host
host.Open();
}
catch (Exception exc)
{
DebugLogger.WriteException(exc);
}
}
Mel,
В то время как я никогда не пробовал это передо мной, вот некоторые образцы для рассмотрения этого, я услышал прежде. Можно хотеть создать объект привязки сначала и затем добавить тот же экземпляр к методу AddServiceEndpoint, просто мысль, таким образом, Вы не создаете новую привязку каждый раз, поскольку я не забываю читать где-нибудь, что netTCPBindings должен быть 1:1 отношения с адресом (даже при том, что Вы используете различные адреса).
Я не думаю, что необходимо волноваться о порте, совместно использующем как открытие нескольких портов.
Вот образец того, что можно хотеть выполнить с несколькими портами.
http://www.aspfree.com/c/a/Windows-Scripting/WCF-and-Bindings/2/
Вот хороший образец для использования portsharing на NetTcpBinding.
http://blogs.msdn.com/drnick/archive/2006/08/08/690333.aspx
- Bryan