Я пытаюсь зарегистрировать запросы & ответов на & из моей службы WCF. То, что я сделал до сих пор:Журналирование службы WCF с IDispatchMessageInspector
public class OutputMessageInspector : IDispatchMessageInspector
{
int lastLogId;
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
{
// Parse request & read required information
// Insert request data into log tables
// Set lastLogId to the id created above
}
public void BeforeSendReply(ref Message reply, object correlationState)
{
// Parse reply
// Using lastLogId update the response column in database table
}
}
Все работает нормально, но у меня есть одна забота:
AfterReceiveRequest
и BeforeSendReply
должен работать в синхронизации с тем, что BeforeSendReply
будет обновлять правильную запись. Случае я имею в виду службы вызывался от нескольких клиентов в то же время, вопрос:
- Не было
lastLogId
получить перепутались и перемешиваются между несколькими запросов & ответы? - Будет ли этот журнал специально обновлен на
BeforeSendReply
будет работать штраф с несколькими клиентами, вызывающими службу в одно и то же время? Если да , то, пожалуйста, дайте мне объяснение, чтобы заверить мой разум, если нет, то , пожалуйста, предложите лучшее решение.
Хорошо, я получил это благодаря :) – yogi