跨系统定义模型 (SDM) 文档的同步
更新:2007 年 11 月
当您对系统定义模型 (SDM) 文档和代码进行更改时,分布式系统设计器将保持这些文档和代码的同步。分布式系统关系图还会直观地指示出这些引用所引发的任何问题。了解不同文档类型之间如何相关、如何同步将有助于在出现同步错误时予以排除。
有关更多信息,请参见下列主题:
以下各节包含有关分布式系统关系图之间的同步的信息:
Synchronizing the Application Diagram with System Diagrams
Synchronizing the Application Diagram with Code
Synchronizing System Diagrams with Other System Diagrams
Synchronizing Deployment Diagrams with System Diagrams and Logical Datacenter Diagrams
使应用程序关系图与系统关系图同步
只要系统关系图处于打开状态,Visual Studio 就会将您在应用程序关系图上对应用程序定义所做的大部分更改与系统关系图上对该定义的任何使用同步。例如,此类更改包括编辑大多数属性或在应用程序定义中添加和删除终结点。如果系统关系图未处于打开状态,Visual Studio 将在您打开系统关系图时同步这些更改。
但是,如果您删除某个应用程序定义,Visual Studio 不会从任何引用系统关系图(无论是否打开)上删除对该定义的使用。相反,Visual Studio 使用红色的虚线轮廓和波浪线将这些使用标识为“孤立”于它们缺少的基础定义。这样,便可以查看删除定义的影响。如果在引用某个应用程序定义的任何系统关系图处于关闭状态时重命名该应用程序定义,Visual Studio 将在您打开这些系统关系图时将该定义的使用显示为“孤立”。
如果重新添加回定义或者撤消名称更改,Visual Studio 将移除孤立使用上的轮廓和波浪线。还可以通过将各个孤立使用与其他应用程序定义关联,修复每个孤立使用。
有关更多信息,请参见下列主题:
使应用程序关系图与代码同步
在分布式系统设计器中,某些应用程序类型支持实现。但是,仅在应用程序关系图中定义此类应用程序并不能立即生成对应的项目、代码和配置文件。第一次代码生成称为“实现”。有关更多信息,请参见 实现应用程序关系图上的应用程序。
对于支持实现的应用程序,实现应用程序后,代码即变成主定义。但是,只要应用程序关系图处于打开状态,Visual Studio 就支持在应用程序定义和代码之间进行完整、连续的同步。这包括代码文件和配置文件以及应用程序关系图中相应的定义。如果应用程序关系图未打开,则重新打开该关系图将使其与代码同步,并接受在关系图关闭时所做的任何更改。
![]() |
---|
如果重新打开应用程序关系图时,应用程序定义 (.sdm) 文件对支持实现的应用程序不可用,Visual Studio 将重新生成该 .sdm 文件。但是,该 .sdm 文件将只包含 Visual Studio 可以从代码或应用程序配置文件中的项进行反向工程的信息。Visual Studio 不会重新创建其源不在代码中的任何 SDM 信息或设置。例如,Visual Studio 不会从代码中对 ASP.NET 应用程序中的 Web 内容终结点进行反向工程。在 Visual Studio 对 ASP.NET 应用程序进行反向工程时,如果应用程序关系图中存在任何此类终结点,这些终结点将带有红色的虚线轮廓。有关更多信息,请参见应用程序关系图疑难解答。 |
对于不支持实现的应用程序,它们在应用程序关系图中的定义或其对应的应用程序定义 (.sdm) 文件是主定义。如果您在应用程序关系图处于关闭状态时对这些类型的 .sdm 文件进行更改(如将它们删除),当您重新打开关系图时,Visual Studio 不会重新生成这些 .sdm 文件。例如,如果您删除这些类型的任何 .sdm 文件,Visual Studio 在应用程序关系图上显示与它们对应的应用程序定义以及在系统关系图上显示对这些定义的任何使用时,将显示红色的虚线轮廓,以指示缺少定义。有关更多信息,请参见 系统关系图疑难解答 和 用于定义应用程序的应用程序类型和原型。
在系统关系图之间同步
只要引用系统关系图处于打开状态,Visual Studio 就会将您在系统关系图上对系统定义所做的大部分更改与其他系统关系图上该定义的任何使用同步。例如,此类更改包括添加或删除代理终结点。如果引用系统关系图未处于打开状态,Visual Studio 将在您打开引用关系图时同步这些更改。有关信息,请参见 使用系统设计器设计应用程序系统。
但是,如果您删除某个系统定义,Visual Studio 不会从任何引用系统关系图(无论是否打开)上删除对该定义的使用。相反,Visual Studio 使用红色的虚线轮廓和波浪线将这些使用标识为“孤立”于它们的基础定义。这样,便可以查看删除定义的影响。如果在引用某个系统定义的其他系统关系图处于关闭状态时重命名该系统定义,Visual Studio 将在您打开这些系统关系图时将该定义的使用显示为“孤立”。如果重新添加回定义或者撤消名称更改,Visual Studio 将移除孤立使用上的轮廓和波浪线。还可以通过将各个孤立使用与其他系统定义关联,修复每个孤立使用。有关更多信息,请参见系统关系图疑难解答和如何:修复应用程序系统的孤立成员。
使部署关系图与系统关系图和逻辑数据中心关系图同步
部署关系图始终引用特定的系统关系图和逻辑数据中心关系图,并包含一系列绑定引用。每个绑定引用都描述系统关系图中的应用程序与逻辑数据中心关系图中的逻辑服务器的绑定。对逻辑数据中心关系图、系统关系图或任何基础应用程序定义所做的更改都会影响部署关系图的完整性。如果在相关的部署关系图处于打开状态时编辑系统关系图或逻辑数据中心关系图,Visual Studio 会将这些更改立即传播到部署关系图中。但是,如果部署关系图未处于打开状态,Visual Studio 将在部署关系图上为某些类型的更改显示错误警报状态,以指示您在系统关系图或逻辑数据中心关系图上进行的更改。有关更多信息,请参见 使用部署设计器评估系统部署。
例如,假定您从系统关系图上删除应用程序,但这些应用程序的绑定引用仍存在于已关联但处于关闭状态的部署关系图上。此外,假定您从关联的逻辑数据中心关系图上删除一个逻辑服务器。当您打开部署关系图时,这些绑定引用将显示红色的错误(“X”)图标。已删除的应用程序将不会再出现在“系统视图”窗口中。您从逻辑数据中心关系图上删除的逻辑服务器仍然在部署关系图上,并显示红色虚线轮廓。
有关更多信息,请参见 部署关系图疑难解答。
使部署关系图与系统关系图同步
如果您根据应用程序关系图创建部署关系图,部署关系图将使用自动设计的“默认系统”,您不能使用系统设计器查看或编辑此默认系统,此默认系统不存在于任何系统关系图中。此默认系统包含应用程序关系图中的所有应用程序和连接。Visual Studio 会将此默认系统与您在应用程序关系图上所做的任何更改同步。如果您创建使用此默认系统的部署关系图,部署设计器中的“系统视图”窗口中将显示此默认系统中可用的所有应用程序。Visual Studio 会将“系统视图”窗口中的部署关系图与您对应用程序关系图上的应用程序定义所做的任何更改同步。
如果您根据手动创建的某个系统关系图创建一个部署关系图,然后对该系统关系图进行更改,那么如果您绑定了该部署关系图上的那些应用程序,这些更改也将影响“系统视图”窗口以及该部署关系图。例如,如果您从引用的系统关系图中删除应用程序,Visual Studio 将删除部署关系图上与已删除的应用程序对应的绑定引用。
有关更多信息,请参见 使用部署设计器评估系统部署。
使部署关系图与逻辑数据中心关系图同步
如果您从逻辑数据中心关系图上删除逻辑服务器,Visual Studio 会将这些更改与任何已打开并且引用该逻辑数据中心关系图的部署关系图同步。Visual Studio 还将移除绑定到这些逻辑服务器的应用程序的绑定引用。您必须将这些应用程序重新绑定到其他逻辑服务器。
如果您在逻辑数据中心关系图上添加或删除一个逻辑服务器或区域,Visual Studio 将在任何已打开并且引用该逻辑数据中心关系图的部署关系图上添加或删除该逻辑服务器或区域。Visual Studio 还将移除您在引用的逻辑数据中心关系图上重新设置为父级的部署关系图上的任何逻辑服务器或区域。
如果在您更改引用的系统关系图或逻辑数据中心关系图时关联的部署关系图处于关闭状态,重新打开该部署关系图时将发生以下情况:
您添加到引用的系统关系图中的应用程序在“系统视图”窗口中显示为未绑定状态。
当您从引用的系统关系图中删除部署关系图中已绑定到逻辑服务器的应用程序时,这些应用程序依然保持绑定状态。但是,它们的绑定引用指示这些应用程序是可用的。
说明:
必须从部署关系图中删除这些引用。
您从逻辑数据中心关系图中删除的逻辑服务器保留在部署关系图中。但是,这些服务器在显示时带有红色虚轮廓线,指示缺少定义。
说明:
由于无法检查这些引用的属性,也无法将应用程序绑定到这些引用,因此,只能从部署关系图中删除这些引用。对于绑定到这些逻辑服务器的应用程序,可以逐个取消绑定。如果您从部署关系图中删除逻辑服务器,Visual Studio 将取消绑定到该服务器的任何应用程序,使它们可以绑定到其他逻辑服务器。
如果在您更改引用的逻辑数据中心关系图时部署关系图未处于打开状态,则必须使部署关系图与这些更改同步。同步将更新部署关系图以反映逻辑数据中心关系图的当前状态,而不会丢失任何绑定信息,同时还将移除对已从逻辑数据中心关系图中删除的逻辑服务器的任何引用。
有关更多信息,请参见下列主题: