【问题标题】:Should I call async SignalR hub methods MethodNameAsync(), or not我应该调用异步 SignalR 集线器方法 MethodNameAsync(),还是不调用
【发布时间】:2019-07-12 20:12:25
【问题描述】:

通常在 C# 中,调用异步方法 MethodNameAsync() 是一种很好的做法,以便让用户清楚地知道该方法是异步运行的。但是,与 SignalR 相关且异步的所有内容都不会在其名称中包含 async。例如,OnConnected 方法是异步的,但它不是 OnConnectedAsync()。

长话短说:您会建议调用任何集线器方法public async Task MyMethodAsync(),还是直接调用public async Task MyMethod()?对于我的集线器的最终用户来说,该方法的异步性是否意味着什么?

【问题讨论】:

    标签: c# coding-style signalr


    【解决方案1】:

    不要在它们后面加上Async,因为这会将实现细节泄露给您的用户。

    如果您在项目中通过分析器强制使用 Async 后缀,则可以将 [SuppressMessage(..., Justification = "RPC methods should not be suffixed with 'Async'."] 属性添加到您的方法中。

    【讨论】:

      猜你喜欢
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 2018-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多