Comments (6)
Definitely an item of interest.
My instinct is this would be a warning when it occurs within an async
method, and an information-level diagnostic elsewhere.
Checking the Result
property can do this as well, but it will be very hard to know whether a particular access to the Result
property is problematic or not. I'll have to think much more about this.
from asyncusageanalyzers.
This should never give a diagnostic message as there are quite a lot of places where you cannot run asyncronous code such as ASP.NET MVC child actions, Main method, etc.
from asyncusageanalyzers.
@tugberkugurlu What about within the body of an async
method?
from asyncusageanalyzers.
@sharwell I think that case qualifies as a legit use of this analyzer.
from asyncusageanalyzers.
I will gladly implement initial version of this diagnostic once #50 is reviewed. I think that thanks to stuff I learned working on #50, coding this diagnostic should be quite simple.
To be on a safe side, I will find all usages of Wait() in async
methods, async
anonymous functions or async
anonymous methods. Later, we can iterate and refine this diagnostic.
from asyncusageanalyzers.
Our VSTHRD002 analyzer does this.
from asyncusageanalyzers.
Related Issues (20)
- New rule proposal: Propagate cancellation tokens HOT 7
- Update IncludeCancellationParameter analyzer to check overloads
- Update IncludeCancellationParameter analyzer to cache context lookups
- Document IncludeCancellationParameter diagnostic
- Support Supression attribute HOT 3
- Update documentation to include [SuppressMessage] examples HOT 2
- Code fixes from AsyncUsageAnalyzers.CodeFixes don't work in Visual Studio
- Don't provide code fixes for Visual Basic in UseConfigureAwaitCodeFixProvider and DontUseThreadSleepCodeUniversalCodeFixProvider
- Suppress async void nag in asserts. HOT 9
- Add special rule for async void eventhandlers. HOT 1
- Await inside usings. HOT 4
- Refactor issue for ignoring a rule HOT 1
- Support Main with async
- Bug: Analyser not raising warnings for local functions not ending with "Async". HOT 1
- ValueTask<long[]> DeleteAsync
- AvoidAsyncSuffix misfires on ValueTask<T> returning methods HOT 1
- Treat types marked with AsyncMethodBuilderAttribute as asynchronous
- Treat methods with awaitable return types as asynchronous
- The non-async method for subclass return a ValueTask report AvoidAsyncSuffix
- New rule proposal: Called methods that are not marked async but return a task should be awaited HOT 1
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 asyncusageanalyzers.