Решение одной строкой
new Date(new Date(1422524805305).getTime() - 330*60*1000)
Вместо 1422524805305 используйте метку времени в миллисекундах Вместо 330, используйте смещение часового пояса в минутах по отношению к минутам. Время по Гринвичу (например, Индия +5: 30 - 5 * 60 + 30 = 330 минут)
В WCF вы можете самостоятельно разместить любую службу, создав экземпляр ServiceHost class, настройте его, указав правильные конечные точки и реализацию службы, которую вы хотите предоставить, и вызовите для него Open
. Это называется самообслуживанием , потому что вы размещаете службу (и ее прослушиватели портов) из своего собственного приложения.
В качестве альтернативы вы можете разместить свою службу в IIS, но вы должны знать, что пока вы может размещать WCF в IIS 6, он позволяет размещать только конечные точки HTTP и HTTPS. Если вы хотите разместить конечные точки TCP в IIS (что является хорошей идеей), вам понадобится IIS 7.
Подробнее здесь .
вы можете использовать любой порт (при условии, что у вас есть на это разрешение) для размещения ваших служб wcf. при использовании IIS для размещения служб wcf это несколько отличается, но в средах с самостоятельным размещением просто добавьте номер порта к своему базовому адресу, и все готово. (при использовании Vista или Server 2008 вам необходимо предоставить доступ к порту, если вы не работаете с правами администратора (например, с помощью netsh))
, чтобы использовать, например, порт 1337 для службы http (или net.tcp), просто добавьте ": 1337 / "на ваш базовый адрес, а остальное сделаем за вас.
Может быть, это поможет
<services>
<service behaviorConfiguration="configname"
name="servicename">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="MyServiceBinding"
name="NetTcpBindingEndpoint" bindingName="MyServiceBinding"
contract="Interface">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="customBinding" bindingConfiguration="myMexTcpBinding"
name="MexTcpBindingEndpoint" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:prot/TestService" />
</baseAddresses>
</host>
</service>
</services>
Все привязки HTTP работают с TCP на транспортном уровне. Итак, вы можете использовать привязки HTTP и IIS.6 для размещения службы WCF, которая работает на определенном TCP-порту.
Вот пошаговое руководство о том, как этого добиться:
настроить службу для запуска на желаемом порту из файл конфигурации (или код):
<хост> <базовые адреса>
в IIS создайте веб-сайт (или виртуальный каталог) и настройте его привязку для работы на порту, который вы выбрали в конфигурации службы baseAddress (8000 в приведенном выше примере).
Результатом описанных выше шагов является WCF служба, которая работает на TCP-порту 8000 для транспортного уровня, используя HTTP в качестве транспортного протокола.
Изменить : Я думаю, вы здесь немного запутались. Если вы пытаетесь достичь двоичного передаваемого пакета, то единственное решение - привязка net.tcp, несовместимая с IIS.6. Если вы просто хотите иметь возможность выбрать TCP-порт соединения, то это можно сделать с помощью любой HTTP-привязки, как показано в моем примере выше, и ее можно использовать в IIS.6.