Can the Segment Analytics .NET library on localhost not send data to the cloud?

281 Views Asked by At

I'm trying to use the Segment Analytics .NET library in an application. Is there a way to configure it so that it doesn't actually send data to the cloud? Like a "NoOp" when it comes to the actual sending of data?

The documentation states the following (for development purposes):

You can use this initialization during development while testing the library. SetAsync(false) will make sure the library makes a request to our servers every time it’s called.

Analytics.Initialize("YOUR_WRITE_KEY", new Config().SetAsync(false)); Don’t forget to set async back to true for production, so that you can advantage of asynchronous flushing on a different thread.

To me, this reads as: "On localhost development, you will STILL SEND THE DATA to the cloud -but- instead of trying to be efficient and batching it up, etc... we'll send it ASAP after each call."

Which sucks because I would like the option to NOT send any data anywhere, but my code 'thinks' it's getting sent, still.

Is there a special configuration trick?

1

There are 1 best solutions below

0
On

There's a (not documented?) property called Send .. which will either send the data upstream or not (a nop using a FakeRequestHandler).

e.g.

Analytics.Initialize("YOUR_WRITE_KEY", new Config{ Send = false });

Here's the code in their library that does all this.