如果服务没有启动,Grapevine.RESTClient会抛出有关cookie的异常

时间:2015-08-17 08:25:12

标签: c# cookies grapevine

所以我使用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

无法像葡萄藤的开发者那样建立葡萄藤标签。没有足够的分数

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。不幸的是,错误消息具有误导性。对我来说,解决方法是向文件App.config添加默认代理。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.net>
        <defaultProxy useDefaultCredentials="true" />
    </system.net>
</configuration>