所以我使用Grapevine.RESTClient来管理我的REST界面的客户端。我使用它在LocalSystem中运行的服务和用户在同一台机器上运行的进程之间进行通信。
我的问题是,当服务未运行时,我的客户端会收到一条异常,并显示错误消息:错误:值不能为空。参数名称:cookies'
我试图在客户端上创建一些逻辑,理解并接受有时服务不可用,就像服务自动更新一样。
或许我应该接受异常的消息有点奇怪?
RESTClient client;
client = new RESTClient(baseUrl);
RESTRequest request = new RESTRequest(resource);
request.Method = Grapevine.HttpMethod.GET;
request.ContentType = Grapevine.ContentType.JSON;
request.Timeout = 30000;
RESTResponse response = client.Execute(request);
上面抛出一个System.ArgumentNullException,其中e.Message =" Value不能为null。\ r \ nParameter name:cookies"
嗯......看看github上的Grapevine代码,似乎代码试图向this.Cookies添加一个cookie集合,即使响应对象是在GetResponse调用的catch块中的e.response中创建的。它可能有也可能没有cookie集合。应该对this.Cookies.Add(response.Cookies)周围的空块进行测试吗?
https://github.com/scottoffen/Grapevine/blob/master/Grapevine/Client/RESTClient.cs
无法像葡萄藤的开发者那样建立葡萄藤标签。没有足够的分数
答案 0 :(得分:0)
我遇到了同样的问题。不幸的是,错误消息具有误导性。对我来说,解决方法是向文件App.config添加默认代理。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
</configuration>