Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# OpenStack.NET:更改服务端点URL_C#_Openstacknetsdk - Fatal编程技术网

C# OpenStack.NET:更改服务端点URL

C# OpenStack.NET:更改服务端点URL,c#,openstacknetsdk,C#,Openstacknetsdk,我开始研究一个项目的OpenStack对象存储。为此,我使用OpenStack.NET库和C#。这个库是由RackSpace创建的,但我使用的是另一个OpenStack提供程序 通过在实例化新的CloudIdentityProvider时指定身份验证服务URL,我可以很好地进行身份验证: CloudIdentity foo = new CloudIdentity() { Username = userName,

我开始研究一个项目的OpenStack对象存储。为此,我使用OpenStack.NET库和C#。这个库是由RackSpace创建的,但我使用的是另一个OpenStack提供程序

通过在实例化新的CloudIdentityProvider时指定身份验证服务URL,我可以很好地进行身份验证:

CloudIdentity foo = new CloudIdentity()
            {
                Username = userName,
                Password = password
            };
CloudIdentityProvider bar = new CloudIdentityProvider(new Uri("http://foo.bar"));
UserAccess ua = bar.Authenticate(foo);
这很有效。但是,当我尝试从指定区域检索对象容器时,出现了一个错误:

CloudFilesProvider cfp = new CloudFilesProvider(foo, bar);            
IEnumerable<Container> listOfContainers = cfp.ListContainers(region:"SBG-1");
CloudFilesProvider cfp=新的CloudFilesProvider(foo,bar);
IEnumerable listOfContainers=cfp.ListContainers(区域:“SBG-1”);
上面的第二行抛出此错误:

用户无权访问请求的服务或区域

现在我不认为这是真正的错误,因为这个用户是从提供者的web界面创建对象容器的人。我在想,也许我需要明确地指定服务端点URL(就像我在身份验证中所做的那样),但就我的一生而言,我似乎找不到任何方法来做到这一点

OpenStack.NET文档非常有限,并且倾向于使用RackSpace,并没有真正进入通用示例