mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-07-14 20:48:08 +00:00
updated pr-agent best practices with auto analysis
parent
a8e4e60487
commit
e3852c3133
|
@ -1,3 +1,59 @@
|
|||
<!-- PR --><table><tr><td> <b><a href='2868572186'>PR 249</a></b> (2025-05-10)
|
||||
|
||||
</td></tr></table>
|
||||
|
||||
|
||||
|
||||
<!-- suggestion --><details><summary>[possible issue] Fix async method signature</summary>
|
||||
|
||||
___
|
||||
|
||||
✅ Fix async method signature
|
||||
|
||||
**The FetchBlobConfig method is asynchronous but doesn't return a Task, making it fire-and-forget. This could lead to unhandled exceptions and the application might continue without a properly loaded blob configuration. Consider making it return a Task and awaiting it during initialization.**
|
||||
|
||||
[WelsonJS.Toolkit/WelsonJS.Launcher/ResourceServer.cs [425-444]](https://github.com/gnh1201/welsonjs/pull/249/files#diff-818c326b0529d19f21de13c9a00464e3eaacb0de06acbbc0bcea444e1cd3bef8R425-R444)
|
||||
|
||||
```diff
|
||||
-private static async void FetchBlobConfig()
|
||||
+private static async Task FetchBlobConfig()
|
||||
{
|
||||
try
|
||||
{
|
||||
string url = Program.GetAppConfig("BlobConfigUrl");
|
||||
var response = await _httpClient.GetStreamAsync(url);
|
||||
|
||||
var serializer = new XmlSerializer(typeof(BlobConfig));
|
||||
using (var reader = new StreamReader(response))
|
||||
{
|
||||
_blobConfig = (BlobConfig)serializer.Deserialize(reader);
|
||||
}
|
||||
|
||||
_blobConfig?.Compile();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Trace.TraceError($"Failed to fetch a blob config. Exception: {ex.Message}");
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
Suggestion importance[1-10]: 8
|
||||
|
||||
__
|
||||
|
||||
Why: The suggestion correctly identifies an important issue with the `FetchBlobConfig` method being declared as `async void`. This is a problematic pattern that can lead to unhandled exceptions and initialization issues since the calling code cannot await the operation. Changing to `async Task` allows proper exception handling and ensures the configuration is loaded before it's needed.
|
||||
|
||||
___
|
||||
|
||||
</details>
|
||||
|
||||
___
|
||||
|
||||
|
||||
|
||||
<!-- PR --><table><tr><td> <b><a href='2850302530'>PR 245</a></b> (2025-05-05)
|
||||
|
||||
</td></tr></table>
|
||||
|
@ -78,6 +134,8 @@ ___
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- PR --><table><tr><td> <b><a href='2832883684'>PR 242</a></b> (2025-04-27)
|
||||
|
||||
</td></tr></table>
|
||||
|
|
Loading…
Reference in New Issue
Block a user