我是否应该调用异步 SignalR 集线器方法 MethodNameAsync()
Should I call async SignalR hub methods MethodNameAsync(), or not
通常在 C# 中,调用异步方法 MethodNameAsync() 是一种很好的做法,可以让用户清楚地知道此方法是异步运行的。但是,与 SignalR 相关且异步的所有内容都不会在其名称中包含异步。例如,OnConnected 方法是异步的,但它不是 OnConnectedAsync()。
长话短说:您会建议调用任何集线器方法 public async Task MyMethodAsync()
,还是直接调用 public async Task MyMethod()
?该方法的异步性对我的集线器的最终用户意味着什么?
不要在它们后缀 Async
,因为这会将实现细节泄露给您的用户。
如果您在项目中通过分析器强制使用 Async
后缀,您可以将 [SuppressMessage(..., Justification = "RPC methods should not be suffixed with 'Async'."]
属性添加到您的方法中。
通常在 C# 中,调用异步方法 MethodNameAsync() 是一种很好的做法,可以让用户清楚地知道此方法是异步运行的。但是,与 SignalR 相关且异步的所有内容都不会在其名称中包含异步。例如,OnConnected 方法是异步的,但它不是 OnConnectedAsync()。
长话短说:您会建议调用任何集线器方法 public async Task MyMethodAsync()
,还是直接调用 public async Task MyMethod()
?该方法的异步性对我的集线器的最终用户意味着什么?
不要在它们后缀 Async
,因为这会将实现细节泄露给您的用户。
如果您在项目中通过分析器强制使用 Async
后缀,您可以将 [SuppressMessage(..., Justification = "RPC methods should not be suffixed with 'Async'."]
属性添加到您的方法中。