C# 如果服务未启动,Grapevine.RESTClient将引发有关Cookie的异常

C# 如果服务未启动,Grapevine.RESTClient将引发有关Cookie的异常,c#,cookies,grapevine,C#,Cookies,Grapevine,因此,我使用Grapevine.RESTClient来管理REST接口的客户端。我使用它在LocalSystem中运行的服务和用户在同一台机器上运行的进程之间进行通信 我的问题是,当服务未运行时,我的客户端会收到一个异常,并显示一条消息“Error:Value不能为null”。参数名称:cookies' 我试图在客户机上创建一些逻辑,以理解并接受有时服务不可用的情况,比如服务自动更新时 或者我应该接受例外的信息有点奇怪 RESTClient client; client = new RESTCl

因此,我使用Grapevine.RESTClient来管理REST接口的客户端。我使用它在LocalSystem中运行的服务和用户在同一台机器上运行的进程之间进行通信

我的问题是,当服务未运行时,我的客户端会收到一个异常,并显示一条消息“Error:Value不能为null”。参数名称: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=“值不能为null。\r\n参数名称:cookies”


嗯。。。查看github上的Grapevine代码,该代码似乎试图将cookie集合添加到此.Cookies中,即使响应对象是在GetResponse调用的catch块中的e.response中创建的。它可能有也可能没有cookie集合。应该对this.Cookies.Add(response.Cookies)周围的空块进行测试,对吗



无法按照grapevine开发者的建议创建grapevine标记。分数不够我也有同样的问题。不幸的是,错误消息具有误导性。对我来说,修复方法是在App.config文件中添加一个默认代理

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


代码示例会很有用,很难从这个描述中看出你在做什么。如果你知道小道消息,应该很容易得到一个想法。我已经在帖子中添加了一些代码来说明这一点。我还查看了葡萄藤的实现,或许可以了解一下发生了什么。我希望您发现v4.0在这方面更易于使用。在接下来的一个月里,网站上的文档应该会被完全清除,但是如果你以前使用过葡萄藤,那就太难弄清楚了。如果葡萄藤在默认情况下应该做些什么,在项目页面上打开一个问题,我会看一看。谢谢