我正在尝试用C#编写一个相当简单的应用程序(或者至少,我认为应该很简单),为所有ESX服务器轮询vCenter,然后为所有VM调度每个ESX服务器.它将收集一些简单的实时统计数据并将其放入数据库中.容易腻,对吗?嗯.
我一直在努力弄清楚我应该使用哪个VMware API,而且我越来越困惑,我越是浏览VMware组织严密的文档站点.我已经阅读了大约60页的vSphere Web Services SDK Programmin指南,但仍然不知道如何获取数据(但我学到了很多关于VMware的字母表汤... yippie).
我的问题是:我应该将哪个VMware API用于专注于收集CPU,内存,网络和硬盘统计信息的只读应用程序?我需要从典型的vCenter +多ESX设置中收集此数据.
编辑:我忘了提到我已经成功编写了一个PowerCLI脚本来完成我所解释的内容,但它对于生产就绪的产品来说太慢而且不稳定(而PowerShell是,imo,一种设计糟糕的脚本语言).我确实有适用于.NET的VMware vSphere SDK,但提供的文档至少可以说是简短的.我错过了真正的vSphere SDK for .NET文档吗?
我正在尝试在我的local.xml文件中为我的自定义块设置一个变量:
<layout>
<!-- ... -->
<page_homepage>
<!-- ... -->
<reference name="root">
<!-- ... -->
<block type="core/template" name="home_page_sections" template="page/homepage/sections.phtml">
<block type="layout/carousel" name="featured_carousel">
<action method="setData">
<name>filter_attribute</name>
<value>is_featured_product</value>
</action>
</block>
</block>
</reference>
</page_homepage>
</layout>
Run Code Online (Sandbox Code Playgroud)
但是我没有在控制器的另一端获取数据:
class Foo_Layout_Block_Carousel extends Mage_Core_Block_Template
{
public function __construct()
{
parent::__construct();
$filterAttribute = $this->getFilterAttribute(); // Nothing
$filterAttribute = $this->getData('filter_attribute'); // Nada
// Alright, fine, what DO I have?!
var_dump($this->getData()); // array(0) {} ... Argh!
}
}
Run Code Online (Sandbox Code Playgroud)
从我所有的搜索中我发现这确实应该有用,但既然没有,我有一种感觉我错过了一些明显的东西.这是我的布局模块的配置(我使用单个模块来定义主页和我需要的任何其他网站):
<?xml version="1.0"?>
<config>
<modules>
<Foo_Layout>
<version>0.1.0</version>
</Foo_Layout>
</modules>
<global>
<page>
<layouts>
<foo_homepage …
Run Code Online (Sandbox Code Playgroud) 我使用了3种可用状态:"库存","缺货"和"允许延期交货".我想要只有"库存"状态的出口产品才能使用XML.问题是,woocommerce为两种状态返回值"instock":'in stock'和'allow for backorders'.现在查询看起来像:
$query = array(
'post_type' => 'product',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => '_stock_status',
'value' => 'instock'
)
)
);
$wp_query = & new WP_Query($query);
while ($wp_query->have_posts()) : $wp_query->the_post();
Run Code Online (Sandbox Code Playgroud)
它以'instock'和'backorders_allowed'状态导出产品.也许有办法用'backorders_allowed'排除产品.
我一直在研究Xcode 3.2.5中的一个项目,今天我尝试将其迁移到Xcode 4.0.它编译得很好; 我可以顺利导航并执行.app(如预期的那样).唯一棘手的问题是Xcode无法启动应用程序,并在尝试时显示以下错误:
"启动可执行文件时出错.未指定可执行文件.使用"file"或"exec-file"命令"(图像不可用)
我已经搜索了Project和Xcode的设置,并且已经谷歌搜索了半天,但我所能找到的都是死路一条,人们抨击其他人打破Apple NDA.仅供参考Xcode 4已经发布,不再使用NDA.
我应该开始一个新项目并在我的源代码中复制吗?对我来说听起来不对,但是当蛮力起作用时,蛮力就会起作用.
提前致谢
我一直在寻找Apple的代表团和协议文档来寻找答案,但是经过一天多的努力,我决定放弃,让你们有机会接受它.我有三个类:HTTPManager,LoginManager和FetchManager.你可能猜到这些类的作用,但要明确......
HTTPManager期望委托实现HTTPManagerDelegate协议,LoginManager和FetchManager都执行此操作.Login-和FetchManager类还为我的应用程序委托提供协议,以便数据可以一直回到用户界面.
在我的应用程序委托init:
方法中,我初始化了登录和获取管理器,并为两者获取以下警告:
warning: class 'MyAppDelegate' does not implement the 'HTTPManagerDelegate' protocol
warning: incompatible Objective-C types assigning 'struct HTTPManager *', expected 'struct LoginManager *'
Run Code Online (Sandbox Code Playgroud)
初始化的两个类都不是从HTTPManager派生的,但它们确实实现了HTTPManagerDelegate协议.产生上述警告的代码行是:
_loginMgr = [[LoginManager alloc] initWithDelegate:self];
Run Code Online (Sandbox Code Playgroud)
那么究竟是什么让LoginManager的initWithDelegate:
方法返回HTTPManager*
?没有继承,我的返回类型是正确的,所以对我来说这是一些我不能最好的黑暗巫术.
这是我的应用程序的shell.可能存在拼写错误和小的不一致,所以在假设语法问题之前请问我:
// HTTPManager.h
@protocol HTTPManagerDelegate
...
@end
@interface HTTPManager : NSObject
{
id <HTTPManagerDelegate> _delegate;
...
}
- (HTTPManager *) initWithDelegate:(id <HTTPManagerDelegate>)delegate;
...
@end
// LoginManager.h
@protocol LoginManagerDelegate
...
@end
@interface LoginManager : NSObject <HTTPManagerDelegate> …
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个构建滑块的表单.它可以有任意数量的图像,我想显示已经上传的图像的预览.设置多个图像字段非常简单,但我已经开始着眼于显示图像的预览.
我正在使用此模板呈现"滑块图像"字段:
{% block form_widget_simple %}
{% spaceless %}
<div class="form-widget slider">
{% set type = type|default('text') %}
{% if type == 'file' and value is not empty %}
<img src="{{ value }}" width="200"/><br/>
{% endif %}
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}/>
</div>
{% endspaceless %}
{% endblock form_widget_simple %}
Run Code Online (Sandbox Code Playgroud)
该value
变量始终是空的file
输入类型,所以我不知道我怎么可以在上传的图片的URL得到.我正在使用一个自定义字段类型,它只是添加一个file
字段并挂钩数据源(这只是一个简单的包装器Symfony\Component\HttpFoundation\File\File
).如果你需要这个代码让我知道,但它的所有样板东西所以我怀疑你这样做.
提前致谢.
php ×2
xcode ×2
c# ×1
cocoa ×1
delegation ×1
esx ×1
macos ×1
magento ×1
objective-c ×1
powercli ×1
symfony ×1
vmware ×1
woocommerce ×1
wordpress ×1
xcode4 ×1