Для Linux (и BSD) Вы хотите использовать clock_gettime () .
#include
int main()
{
timespec ts;
// clock_gettime(CLOCK_MONOTONIC, &ts); // Works on FreeBSD
clock_gettime(CLOCK_REALTIME, &ts); // Works on Linux
}
См.: Этот ответ для получения дополнительной информации
Насколько мне известно, а в прошлом месяце я много работал с WCF, нельзя использовать один и тот же точный URI для нескольких конечных точек. В WCF «служба» определяется не реализацией контракта, а самим контрактом (который также следует WSDL и стандартным практикам SOA). Конечные точки позволяют вам предоставлять одну службу через несколько протоколов (и, следовательно, разные адреса) , но вы не можете использовать разные службы по одному и тому же адресу. Логически это не сработает.
Предположим следующий сценарий (который вы пытаетесь реализовать):
IProductService exposed @ http://localhost/service
ICategoryService exposed @ http://localhost/service
IMetadataExchange exposed @ http://localhost/service/mex
Достаточно легко получить доступ к конечной точке MEX ... у нее есть уникальный URI. Однако как получить доступ к IProductService или ICategoryService? Нет ничего, что позволило бы вам различать эти два, кроме URI. В WCF нет ничего, что позволило бы ему маршрутизировать сообщения, которые должны отправляться в IProductservice, и сообщениями, которые должны отправляться в ICategoryService. Поскольку оба используют один и тот же URI, у вас действительно есть конфликт. Каждый КОНТРАКТ службы должен быть представлен через уникальный URI. Каждая конечная точка, которая использует одну и ту же точную привязку, должна использовать отдельный адрес.
Есть способ достичь того, что вам нужно. Проблема в маршрутизации сообщений. WCF изначально не поддерживает маршрутизацию сообщений OOB, однако предоставляет возможность реализовать собственный маршрутизатор сообщений. (Или, если вы хотите использовать бета-версию, .NET 4.0 поставляется с маршрутизатором сообщений из коробки, основываясь на статьях, ссылки на которые приведены ниже, но с улучшенными возможностями настройки.) Мишель Бустаманте, настоящая волшебница WCF, предоставил полную реализацию и статью с описанием маршрутизации сообщений по следующим ссылкам:
http://msdn.microsoft.com/en-us/magazine/cc500646.aspx http://msdn.microsoft.com/ en-us / magazine / cc546553.aspx
Общая идея состоит в том, что вы настраиваете одну службу, которая прослушивает один URI. Эта служба использует отправку с подстановочными знаками для одной операции службы, которая затем определяет, на какой уникальный URI направлять каждое сообщение. Вы можете сделать определение любым способом, но самый простой - запрос Action, предполагающий, что каждое действие на ваших двух интерфейсах, IProductService и ICategoryService, глобально уникально. Однако в конечном итоге у вас будет больше сервисов ... сам маршрутизатор представляет собой отдельную службу WCF, которую необходимо размещать так же, как и любую другую.
com / en-us / magazine / cc500646.aspx http://msdn.microsoft.com/en-us/magazine/cc546553.aspxОбщая идея состоит в том, что вы настраиваете единую службу, которая прослушивает единственный URI. Эта служба использует отправку с подстановочными знаками для одной операции службы, которая затем определяет, на какой уникальный URI направлять каждое сообщение. Вы можете сделать определение любым способом, но самый простой - запрос Action, предполагающий, что каждое действие на ваших двух интерфейсах, IProductService и ICategoryService, глобально уникально. Однако в конечном итоге у вас будет больше сервисов ... сам маршрутизатор - это отдельная служба WCF, которую нужно размещать так же, как и любую другую.
com / en-us / magazine / cc500646.aspx http://msdn.microsoft.com/en-us/magazine/cc546553.aspxОбщая идея состоит в том, что вы настраиваете единую службу, которая прослушивает единственный URI. Эта служба использует отправку с подстановочными знаками для одной операции службы, которая затем определяет, на какой уникальный URI направлять каждое сообщение. Вы можете сделать определение любым способом, но самый простой - запрос Action, предполагающий, что каждое действие на ваших двух интерфейсах, IProductService и ICategoryService, глобально уникально. Однако в конечном итоге у вас будет больше сервисов ... сам маршрутизатор - это отдельная служба WCF, которую нужно размещать так же, как и любую другую.
Эта служба использует отправку с подстановочными знаками для одной операции службы, которая затем определяет, на какой уникальный URI направлять каждое сообщение. Вы можете сделать определение любым способом, но самый простой - запрос Action, предполагающий, что каждое действие на ваших двух интерфейсах, IProductService и ICategoryService, глобально уникально. Однако в конечном итоге у вас будет больше сервисов ... сам маршрутизатор - это отдельная служба WCF, которую нужно размещать так же, как и любую другую. Эта служба использует отправку с подстановочными знаками для одной операции службы, которая затем определяет, на какой уникальный URI направлять каждое сообщение. Вы можете сделать определение любым способом, но самый простой - запрос Action, предполагающий, что каждое действие на ваших двух интерфейсах, IProductService и ICategoryService, глобально уникально. Однако в конечном итоге у вас будет больше сервисов ... сам маршрутизатор - это отдельная служба WCF, которую нужно размещать так же, как и любую другую.