2015年2月5日星期四

ASP.NET MVC4+BootStrap 实战(九)

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
ASP.NET MVC4+BootStrap 实战(九)  阅读原文»

ASP.NET MVC4+BootStrap 实战(九)

哄孩子睡觉哄到现在,要两个孩子真的是不容易。孩子不睡觉,我没办法写博客。孩子睡着了,我一写就要写到半夜2点。6点起床,6:30骑自行车去上班,呼吸着雾霾,头皮冻得僵硬。到了软件园楼底下,还要排队买胡辣汤,排队上电梯。唉,生活不易。

今天,我们要说的当然是用户信息修改,请看下图。

wKioL1TSSdyAPn99AANJwx6V9kE456.jpg

看到一龙了么,重庆功夫盛典和日本变装拳手战成平手,打裂了日本拳手的眉骨。OK,我们点击铅笔,弹出用户信息修改界面。那么,我们在弹出用户信息修改界面之前,先要给弹出界面的form赋值。那么这一步要怎么做,当然了,是使用angular的copy方法。怎么copy呢,当然是copy当前行的用户对象。

我们看一下弹出修改界面的js方法。

wKioL1TSSzbQecsDAAH4zgFWUpU986.jpg

如上红框内的代码,我们调用了getSelectedUser方法,并且传入当前行的userEntity对象。看一下这个js方法是如何处理的。

$scope.modifyUser={};
$scope.getSelectedUser=function(userEntity){
angular.copy(userEntity,$scope.modifyUser);
$scope.modifyUser.UserBirthDay=newDate(parseInt($scope.modifyUser.UserBirthDay.substr(6))).format("yyyy-MM-dd");
angular.element('#userModifyModal').modal('show');

我们定义一个modifyUser对象,然后将传递过来的对象copy到modifyUser对象。但是由于日期是json格式(/Date(1290371638000)/),所以需要进行转化。待对象中的数据都准备好之后,我们打开用户修改界面。

我们看一下用户修改功能在界面是如何运作的。

@using(Ajax.BeginForm("UserModify","UserManage",null,newAjaxOptions()
HttpMethod="Put",
Confirm="您确定要修改吗?",
LoadingElementId="div_modify_process",
OnComplete="modifyComplete",
OnSuccess="modifySuc",
OnFailure="modifyFail"
},new{@class="form-horizontal",id="userModify_form"}))
<divclass="modalfade"id="userModifyModal"role="dialog"
data-backdrop="static"data-keyboard="false"
aria-labelledby="userModifyModalElement"aria-hidden="true">
<divclass="modal-dialog"style="width:450px">
<divclass="modal-content"style="width:450px">
<divclass="modal-headermodal-head">
<buttontype="button"class="close"
data-dismiss="modal"aria-hidden="true">
<h4class="modal-title"id="userModifyModalElement">
<imgsrc="../../Images/Base/useradd.png"class="img-panel-title"/>
<divclass="modal-body">
<divng-include="'UserModifyView'"></div>
<divclass="modal-footer">
<buttontype="submit"class="btnbtn-primary">
<spanclass="glyphiconglyphicon-check"aria-hidden="true">
<buttontype="button"ng-click="windowClose()"class="btnbtn-danger">
<spanclass="glyphiconglyphicon-off"aria-hidden="true">
</div><!--/.modal-content-->

在这里需要注意的是下面的这句

<体验vSphere 6之5-添加虚拟交换机及iSCSI存储  阅读原文»

体验vSphere 6之5-添加虚拟交换机及iSCSI存储

7 添加虚拟交换机及iSCSI存储

虚拟机的容错的基础是群集,而要管理与使用群集,需要有"管理网络冗余"、"至少两个共享存储磁盘"。接来下,为每台ESXi主机的管理网络添加冗余网卡,并为ESXi主机添加网络存储磁盘。

(1)在vSphere Web Client管理界面中,在左侧选中一台主机,在右侧选择"管理→网络自己虚拟交换机",在列表中选择系统己有的虚拟交换机,单击""按钮,如图7-1所示。

图7-1 管理虚拟交换机

(2)在"分配的适配器"对话框中,当前可以看到有一个网卡,单击"+"按钮,为交换机添加另一个网卡。

(3)在弹出的"将物理适配器添加到交换机"对话框中,从"网络适配器"列表中,选择要添加的网卡,在此选择vmnic1,这是ESXi主机的第2块网卡,在前期的规划中,我们将1、第2网卡用做ESXi的管理网卡。如果要添加多个网卡,可以按住Shift键选择。

(4)返回到"分配的适配器"对话框,可以看到添加的网卡。

(5)添加之后返回到vSphere Web Client管理控制台,如图7-5所示,可以看到当前的虚拟交换机已经有两个网卡。

图7-5 虚拟交换机

在我们设计实验环境时,为ESXi主机添加了4个网卡,此时可以将剩余的两个网卡添加为虚拟交换机,主要步骤如下。

(1)单击""按钮,添加主机网络,如图7-6所示。

图7-6 添加主机网络

(2)在"选择连接类型"对话框,选择"VMkernel网络适配器",如图7-7所示。如果新添加的交换机只需要处理虚拟机网卡流量,则可以选择"标准交换机的虚拟机端口组"。

图7-7 选择连接类型

(3)在"选择目标设备"对话框,选择"新建标准交换机"。

(4)在"创建标准交换机"对话框中,单击"+"按钮,将剩余的vmnic2、vmnic3网卡添加到列表中,如图7-9所示。

图7-9 添加网卡

(5)在"端口属性"对话框,在"启用服务"处根据需要选择,一般要选择vMotion流量、Fault Tolerance日志记录、管理流量,如图7-10所示。

图7-10 端口属性

(6)在"IPv4设置"对话框,为新添加VMkernetl设置管理地址,因为该网卡连接的是VMnet1,在前期我们规划VMnet1使用192.168.10.0/24网段,在此我们设置管理地址为192.168.10.11,如图7-11所示。

图7-11 设置管理地址

(7)在"即将完成"对话框,单击"完成"按钮。

(8)添加之后如图7-13所示。

图7-13 添加标准交换机

(9)同样为要另一个ESXi主机进行相同的操作。

在添加标准交换机之后,为ESXi主机添加"iSCSI软件适配器",并添加iSCSI存储服务器地址,为ESXi添加存储,主要步骤如下。

(1)在左侧选中ESXi主机,在右侧选择"管理→存储器→存储适配器",单击"+"按钮,在弹出的列表中选择"",如图7-14所示。

图7-14 添加新的存储适配器

(2)添加iSCSI软件适配器后,在列表中选中新添加的名为vmhba33的iSCSI软件适配器,在适配器详细信息列表中选择"目标"选项卡,单击"添加"按钮,添加iSCSI服务器,如图7-15所示。

图7-15 向iSCSI软件适配器中添加服务器

(3)在弹出的"添加发送目标服务器"对话框中,输入iSCSI服务器的IP地址,在此案例中,由于iSCSI服务器配置在Windows Server 2008 R2的主机中,而ESXi Server、vCenter Server使用的是VMware VMnet8虚拟网卡,所以iSCSI服务器的地址是VMnet8虚拟网卡主机端的IP地址192.168.80.1,如图7-16所示。

图7-16 添加发送目标服务器

(4)另外,由于在本案例中,每台ESXi分配了4个网卡,其中2个网卡属于VMnet8,2个网卡属于VMnet1,并且为VMnet1添加了管理地址,所以还可以将主机的VMnet1虚拟网卡地址192.168.10.1添加到iSCSI服务器的目标中来,这是添加了iSCSI服务器目标之后的截图,在iSCSI服务器的列表中显示的地址是192.168.80.1及192.168.10.1。

(5)同样为要另一个ESXi主机进行相同的操作。

由于新添加了存储,所以需要重新扫描存储适配器,才能搜索并找到新的存储设备。扫描并添加新设备的操作如下。

(1)在"管理→存储器→存储适配器"中,单击""按钮,重新扫描主机上的所有存储适配器以发现新添加的存储设备或VMFS卷。在弹出的"重新扫描存储器"对话框中,选择默认值"扫描新的存储设备"及"扫描新的VMFS卷"。

(2)扫描之后,单击iSCSI适配器,在"目标"、"路径"及"设备"列表中可以看到发现并添加的目标及设备,如图7-19所示。

(3)在"管理→存储器→存储设备"列表中,可以看到新添加的存储设备,名为"MSFT iSCSI DISK",大小分别为1000GB和200GB,如图7-20所示。

图7-20 存储设备

(4)找到存储设备之后,接下来需要将存储设备添加到数据存储中。在左侧选择ESXi主机,在右侧选择"相关对象→datastores",在此列表中可以将存储设备添加为ESXi可用的数据存储。为了方便后期的管理,我们需要将ESXi本地存储重新命名,例如将第1台ESXi的本地存储命名为esx01-os,将第2台ESXi的本地存储命名为esx02-os,表示这分别是两台ESXi安装操作系统的存储。而对于以后添加的共享存储则用另外的命名方式。右击要重命名的数据存储,在弹出的快捷菜单中选择"重命名",如图7-21所示。

图7-21 重命名

(5)将192.168.80.12的数据存储重命名为esx02-os。

(6)同样操作,在左侧选中另一台ESXi主机,将该主机本地存储重命名为esx01-os。

(7)在重命名数据存储之后,将扫描到的iSCSI磁盘添加到ESXi中,作为ESXi共享数据存储使用。单击""按钮,在弹出的"新建数据存储→类型"对话框中选择"VMFS",如图7-24所示。

图7-24 选择存储类型

(8)在"名称和设备选择"对话框中,在"列表中"选择可用的数据存储,当前iSCSI存储列表中有两个存储磁盘,大小分别为200GB和1000GB,在此选择其中一个,并在"数据存储名称"文本框中输入新添加的存储名称,如图7-25所示。

阅读更多内容

没有评论:

发表评论