首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“无法建立连接,因为目标计算机主动拒绝它”Nethereum异常

“无法建立连接,因为目标计算机主动拒绝它”Nethereum异常
EN

Stack Overflow用户
提问于 2021-06-27 20:44:20
回答 1查看 109关注 0票数 0

我正在使用Nethereum在平衡计分卡合同中调用一个名为owner()的函数,该函数应该返回合同所有者的地址,但是当我使用CallAsync()方法时,我得到一个异常“无法建立连接,因为目标机器主动拒绝了它”

我的代码(简化):

代码语言:javascript
复制
using (var s = webRequest.GetResponse().GetResponseStream())
{
    using (var sr = new StreamReader(s))
    {
        string contractABIstr = sr.ReadToEnd();
        JObject contractABI = JObject.Parse(contractABIstr);
        string contractResults = (string)contractABI.SelectToken("result");

        var web3 = new Web3();
        var contract = web3.Eth.GetContract(contractResults, address);
        Nethereum.Contracts.Function = contract.GetFunction("owner");

        string owner = "";
        Task<string> task = function.CallAsync<string>();
        owner = await task;
    }
}

在调用owner = await task行时,我得到了一个异常,消息是“尝试发送rpc请求时出错”,它有一个内部异常,消息是“发送请求时出错。”,它有自己的内部异常,有消息"Unable to connect to the remote server",这个异常有自己的内部异常,说“无法连接,因为目标机器主动拒绝了它的IP地址”。

有人知道我哪里做错了吗?(我简化了上面的代码,但我确实检查了函数是否存在)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-27 23:28:53

我的问题是我没有使用参数初始化Web3(),所以它默认使用localhost作为RPC客户端。我通过使用我需要的RPC客户端url初始化它来修复它,在本例中:

代码语言:javascript
复制
string rpcClient = "https://bsc-dataseed.binance.org/";
Web3 web3 = new Web3(rpcClient);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68151293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档