C# 无法在异步方法C中等待Void-参数#

C# 无法在异步方法C中等待Void-参数#,c#,wpf,titanium-web-proxy,C#,Wpf,Titanium Web Proxy,我正在尝试测试这个例子。然而,在完全复制了“ReadMe”部分中的示例之后,我遇到了一个无法解决的错误 在此方法中: public async Task OnRequest(object sender, SessionEventArgs e) { Console.WriteLine(e.WebSession.Request.Url); var requestHeaders = e.WebSession.Request.Headers; var method = e.Web

我正在尝试测试这个例子。然而,在完全复制了“ReadMe”部分中的示例之后,我遇到了一个无法解决的错误

在此方法中:

public async Task OnRequest(object sender, SessionEventArgs e)
{
    Console.WriteLine(e.WebSession.Request.Url);
    var requestHeaders = e.WebSession.Request.Headers;
    var method = e.WebSession.Request.Method.ToUpper();
    if ((method == "POST" || method == "PUT" || method == "PATCH"))
    {
        byte[] bodyBytes = await e.GetRequestBody();
        await e.SetRequestBody(bodyBytes);
        string bodyString = await e.GetRequestBodyAsString();
        await e.SetRequestBodyString(bodyString);
        e.UserData = e.WebSession.Request;
    }
}
我在等待e.SetRequestBodyString(bodyString)的行
中遇到错误
等待e.SetRequestBody(bodyBytes)

错误消息状态为
无法等待“void”
,它将方法
SessionEventArgs
中的参数作为void方法本身引用


我如何解决这个问题?由于示例代码与上面的代码完全相同,我是否做错了什么?

他们的文档不正确。它是异步的(SetRequestBody,SetRequestBodyString),但现在它是同步的,您会得到类似异常的结果


只需尝试删除Wait for Set调用。它们似乎不是异步的。可能是重复的,它们更改了API,现在是同步的。在以前的版本中,它是异步的。例如,安装3.0.8。
public async Task OnRequest(object sender, SessionEventArgs e)
{
    Console.WriteLine(e.WebSession.Request.Url);
    var requestHeaders = e.WebSession.Request.Headers;
    var method = e.WebSession.Request.Method.ToUpper();
    if ((method == "POST" || method == "PUT" || method == "PATCH"))
    {
        byte[] bodyBytes = await e.GetRequestBody();
        e.SetRequestBody(bodyBytes);
        string bodyString = await e.GetRequestBodyAsString();
        e.SetRequestBodyString(bodyString);
        e.UserData = e.WebSession.Request;
    }
}