在Amazon EC2上有2台服务器。不确定这是否相关。服务器1是应用服务器,服务器2是缓存服务器。两者都运行Windows 2012.服务器1和服务器2不属于域。我在两台服务器上都有匹配的本地用户和匹配的密码。该用户被授予允许的客户列表
作为测试,我有一个控制台应用程序,它调用DataCache,放置一个键,获取相同的键并回显其值。当控制台应用程序在缓存服务器上运行时,它可以工作。但是,当在应用服务器上运行时,它会连接,可以获得缓存或默认缓存。但是在put操作期间失败并出现通用错误errca0017 substatus es0006
尝试将CacheClusterSecurity设置为None和None,仍然是相同的行为。此外,尝试将Everyone添加到允许的客户列表
非常感谢任何帮助。我试图避免创建域并在可能的情况下在EC2云中维护它
答案 0 :(得分:2)
我最近和我的一位客户讨论了同样的问题。
在我们的例子中,失败是由于NbtNs名称Lookup失败。 AppFabric配置为收听net.tcp://NetBIOSName:22233
。如果客户端无法解析NetBIOS名称,则PUT调用将失败。潜在的失败:
System.ServiceModel.EndpointNotFoundException: No DNS entries exist for host machineName. ---> System.Net.Sockets.SocketException: No such host is known
at System.Net.Dns.GetAddrInfo(String name)
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostEntry(String hostNameOrAddress)
at System.ServiceModel.Channels.DnsCache.Resolve(Uri uri)
--- End of inner exception stack trace ---
解决方案:将machineName / IP组合添加到客户端的主机文件中。
更新:"生产不支持AppFabric的工作组方案。" http://msdn.microsoft.com/en-us/library/hh351385(v=azure.10).aspx