小编atk*_*sch的帖子

亚马逊中支持VPC的可用区域

我发现在某些地区(例如us-east-1),只有一些可用区可用于创建子网(因此也就是VPC实例).在我的例子中,区域是us-east-1c,-1d和-1e,但这些区域因帐户而异.

我正在构建一个生成子网和VPC实例的脚本,因此以编程方式找出哪些区域具有VPC能力是有用的,特别是因为我知道为什么区域集不能改变(或至少增长)随着时间的推移.

这篇文章提出的问题基本相同,但是接受的答案实际上并没有提供我和提问者正在寻找的信息(除非ec2-describe-availability-zones有一些我不知道的VPC特定参数):亚马逊VPC可用性

我找到了一个可能的解决方法,即尝试创建一个带有垃圾vpc-id和可用区(ec2-create-subnet -c garbage -i 10.0.0.0/24 -z garbage)的子网.此调用的错误消息包括能够托管子网的AZ列表,我可以解析该输出以查找我正在查找的信息.但是,这感觉就像一个黑客,我不喜欢依赖于错误行为和错误消息的特定格式,如果我不必这样做.有没有更好的办法?

更新:根据评论添加更多细节......

我对ec2-describe-availability-zonesALWAYS的调用返回五个值:us-east-1a到us-east-1e,但是我们只能在1c,1d和1e中创建VPC子网.我们在除1b之外的所有区域都运行实例,其中我甚至无法启动常规实例(它似乎逐渐被淘汰).此帐户自VPC功能发布之前就已存在,因此我认为它有点像"遗留"帐户.这可能与我允许创建子网和VPC实例之间的差异以及ec2-describe-availability-zones返回时的差异有关.我将向AWS支持发布一个问题,并在此处报告任何调查结果.

bash amazon-ec2 amazon-web-services amazon-vpc

11
推荐指数
1
解决办法
3113
查看次数

在Metro应用程序中将数组从javascript传递到C#

编辑:我找到了答案(在Tejs的帮助下); 见下文.


我正在使用HTML/Javascript开发Metro应用程序,以及一些基于C#的帮助程序库.一般来说,我在从Javascript调用C#方法方面取得了很大的成功,但我似乎无法通过数组(在我的特定情况下,字符串数组)来工作.传递单个字符串可以正常工作.

我的代码是这样的:

// in javascript project
var string1 = ...;
var string2 = ...;
var string3 = ...;
var result = MyLibrary.MyNamespace.MyClass.foo([string1, string2, string3]);
Run Code Online (Sandbox Code Playgroud)

然后,在C#中:

// in C# project
public sealed class MyClass {
    public static string Foo(string[] strings) {
        // do stuff...
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是方法"Foo"获得一个具有正确长度的数组(所以在上面的例子中为3),但所有元素都是空的.我也试过这个:

public static string Foo(object[] strings) {
...
Run Code Online (Sandbox Code Playgroud)

这也没有用 - 再次,数组是正确的大小,但所有元素都是null.

我试过传递字符串文字,字符串变量,在javascript中使用"new Array(...)",将"Foo"的签名更改为"params string []"和"params object []",都无济于事.

由于传递单个字符串工作正常,我可能可以通过一些hackery来解决这个问题......但看起来这应该可行.对我来说,这个数组以正确的大小传入(即,正在进行编组的任何事情都知道关于javascript数组结构的SOMETHING)并且内容没有被填充,这对我来说似乎很奇怪.

javascript c# windows-8 windows-runtime

8
推荐指数
1
解决办法
1024
查看次数

为网络启用共享时Metro风格应用程序中的套接字异常

我正在开发一个Metro风格的应用程序,它通过Web服务与我们的服务器通信.早期,我发现我需要在清单中添加"家庭或工作网络"(privateNetworkClientServer)和"Internet客户端"(internetClient)功能,否则应用程序在尝试向远程进行Web服务调用时会遇到异常主办.

但是,现在,在某些机器上,当应用程序尝试调用我们的Web服务时,我收到以下套接字异常:

System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at https://[my_service_url] that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System.Net.WebException: Unable to connect to the remote server
---> 
System.Net.Sockets.SocketException: An attempt was made to access a socket in a way forbidden by its access permissions [my_server_ip_address]:443
   at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& …
Run Code Online (Sandbox Code Playgroud)

web-services microsoft-metro windows-8 windows-runtime

5
推荐指数
1
解决办法
1374
查看次数