Tag: vmware

用于访问VMware vSphere PowerCLI的C#代码

是否有通过PowerCLI或其他方式访问vSphere API的C#代码示例? 对于测试自动化,调用vSphere API的PowerCLI脚本或C#代码是更好的选择吗? 请提供有关文档和示例的建议

ManagementException – 无效的类

我有一个问题,询问WMI让我完全感到困惑。 我正在构建的应用程序将作为VMware View Agent一部分安装的WMI计数器用于VDI桌面。 计数器提供有关远程显示协议PCoIP的信息。 我有工作代码来查询计数器: ManagementObjectSearcher searcher = new ManagementObjectSearcher(); ObjectQuery generalQuery = new ObjectQuery(“SELECT * FROM Win32_PerfRawData_TeradiciPerf_PCoIPSessionGeneralStatistics”); // Many other queries… searcher.Query = generalQuery; foreach (ManagementObject obj in searcher.Get()) { // Total session duration ulong sessionDurationSec = Convert.ToUInt64(obj[“SessionDurationSeconds”]); // Get other items… } 此代码来自现有的.NET 3.5应用程序。 我现在已经创建了一个新的.NET 4.0应用程序,并且我使用完全相同的代码 – 每次都使用“Invalid Class”ManagementException失败。 我已经validation了应用程序权限是正确的,我也尝试在新的.NET 4.0应用程序中查询其他项目,如“Win32_Process”,它没有问题。 令人费解的是,计数器在perfmon和wmic中出现并正常工作: […]

AppFabric客户端虚拟机问题

我们有AppFabric缓存集群服务器,我可以使用我的开发机器作为客户端使用它。 为了模拟访问缓存集群服务器的不同Web服务器,我创建了一个VMWare虚拟机并安装了Visual Studio 2010和我的Web应用程序。 从VM作为客户端,当我尝试获取缓存时,我收到以下错误…请帮助..谢谢.. ErrorCode:SubStatus:暂时失败。 请稍后重试。 (一个或多个指定的缓存服务器不可用,这可能是由繁忙的网络或服务器引起的。对于本地缓存群集,还要validation以下条件。确保已为此客户端帐户授予安全权限,并检查AppFabric允许缓存服务通过所有缓存主机上的防火墙。服务器上的MaxBufferSize也必须大于或等于从客户端发送的序列化对象大小。) 我注意到内在的例外是 服务器已拒绝客户端凭据。 所以..经过一些研究……我在配置中添加了以下行 现在,我的dataCacheClient配置如下所示: 上面的配置更改后..我收到以下错误: 套接字连接已中止。 这可能是由于处理消息时出错或远程主机超出接收超时或基础网络资源问题引起的。 本地套接字超时是 我的代码配置如下。 它从我的开发机器作为客户端工作,但不作为客户端从VM工作。 我能够从VM客户端ping缓存集群服务器。 class Program { static void Main(string[] args) { var config = new DataCacheFactoryConfiguration(); var servers = new List(); servers.Add(new DataCacheServerEndpoint(“MyCacheClusterServerMachine”, 22233)); config.Servers = servers; var factory = new DataCacheFactory(config); var cache = factory.GetDefaultCache(); <—- error here […]

HttpWebrequest失败,内部exceptionvalidation失败,因为远程方已关闭传输流

使用C#,。Net 4.5,我试图通过远程服务器上的HttpWebRequest发送Web请求。 请参阅下面的代码。 我尝试了一些论坛建议的大部分解决方案,但我总是遇到同样的错误。 请参阅下面的堆栈跟踪。 调用request.GetReponse()方法时抛出错误。 其他信息,基本上,我正在尝试调用安装在远程服务器上的vmware的vCenter组件的reloadSslCertificatefunction。 目前,该错误仅发生在vCenter 5.5上。 它在5.1及以下版本中运行良好。 var uri = String.Format(“https://{0}/some_url”, serverName); var request = (HttpWebRequest)WebRequest.Create(uri); request.KeepAlive = true; request.Accept = “text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8”; request.Headers.Set(HttpRequestHeader.AcceptLanguage, “en-US,en;q=0.8”); request.Credentials = credential; request.CookieContainer = cookieContainer; var response = request.GetResponse(); exception:System.Net.WebException:基础连接已关闭:发送时发生意外错误。 —> System.IO.IOException:身份validation失败,因为远程方已关闭传输流。 System.Net.Security.SslState.Ss上的System.Net.Security.SslState.StartReadFrame(Byte []缓冲区,Int32 readBytes,AsyncProtocolRequest asyncRequest)中的System.Net.Security.SslState.StartReceiveBlob(Byte []缓冲区,AsyncProtocolRequest asyncRequest)。 System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst,Byte [] buffer,AsyncProtocolRequest)上的System.Net.Security.SslState.StartSendBlob(Byte []传入,Int32计数,AsyncProtocolRequest asyncRequest)中的CheckCompletionBeforeNextReceive(ProtocolToken消息,AsyncProtocolRequest asyncRequest) asyncRequest)在System.Net.Se.SlsStream.CallProcessAuthentication(对象状态)的System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)处于System.Threading.ExecutionContext.RunInternal(ExecutionContext […]