Comments (4)
OK, found one possible repro scenario: This same exception will happen if the service operation that was called explicitly or implicitly ends up calling another remote service.
However, it will only happen if the calling code instantiates a new OperationContextScope
and does not dispose it correctly, so something like this:
var channel = new SomeServiceClient();
// the following line should be in a using statement
var scope = new OperationContextScope((IContextChannel)channel);
// use OperationContext for something
OperationContext.Current.OutgoingMessageHeaders.Add(new SomeCustomHeader());
// call service
channel.CallSomeOperation();
Code like this causes the OperationContext for the child call to be stuck on the current thread, so when we look at OperationContext.Current later on, we're getting the wrong context.
from applicationinsights-sdk-labs.
@rahulrajatsingh Could you tells us a little information?
- What .NET Version is your code compiled for, and what .NET Framework version is it running no?
- Are you using duplex contracts?
- Does your service code manipulate
OperationContext
in any way during the operation execution? - What behaviors are you enabling on your service?
From the stack trace, it looks like the exception is coming up when processing the response message generated by the service... it's not finding the same OperationContext
as the one that was present when the request message came in, so likely the context is in the wrong state to look up the necessary information.
from applicationinsights-sdk-labs.
Please find all the requested details below:
What .NET Version is your code compiled for, and what .NET Framework version is it running no?
4.5.1
Are you using duplex contracts?
No
Does your service code manipulate OperationContext in any way during the operation execution?
Yes we are pushing claims in the OutgoingMessageHeaders for other service calls.
What behaviors are you enabling on your service?
No custom behavior. Its configured to use Single instance with Concurrency mode as Multiple and some throttling using configurations.
from applicationinsights-sdk-labs.
@rahulrajatsingh Can you confirm if your code suffers by any chance of the issue mentioned above of not disposing correctly the OperationContextScope
object?
Also, version 0.26.0-build14298
was published yesterday with a workaround for this. Can you try it and let us know if it resolves the issue for you?
from applicationinsights-sdk-labs.
Related Issues (20)
- When will the official launch of App insights SDK for WCF application will be done HOT 17
- Binding problem with ClientTelemetry HOT 2
- Is hosting app responsible for calling Flush() when ends? HOT 3
- Installing Client Dependency Telemetry Tracking With Code HOT 7
- Add NIC placeholder for custom performance counters HOT 1
- UserAgent Initializer overrides User.Id HOT 1
- Update WCF SDK to AppInsights v2.5.1 HOT 2
- Dependency Error Tracking HOT 1
- Dependency Target Name HOT 3
- Wcf Service calling another Wcf service loose track HOT 4
- Some Telemetry is sent twice (By WCF package and Web?) HOT 2
- Quertion about MyGet repo
- Has this repo been abandoned ? Please communicate + myget issues HOT 4
- Majority of WCF requests missing
- Unable to track any dependencies
- Status: Alive or Dead HOT 1
- Question: Exceptions logging HOT 1
- apply the wcf telemetry on two environments, One is getting the API operation contract logging, but another env didn't log properly HOT 6
- Question: Does this project support framework 4.7.x? HOT 1
- Random ArgumentNullException when invoking operations
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from applicationinsights-sdk-labs.