『天道酬勤』


宠辱不惊,看庭前花开花落.去留无意,望天外云卷云舒.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

VS.NET中的Web项目和源代码管理集成方案(10)

Posted on 2007-11-19 20:41  咣咣咣  阅读(311)  评论(0编辑  收藏  举报
通过什么方法可以自动通知团队成员有关 Web service 的更改,以确保及时刷新所有客户端引用?
Visual Studio .NET 不提供这类工具。编辑 Web service 的团队成员必须亲自通知其他团队成员有关的更改。
我所在的团队有四个开发人员,其中两个开发人员的工作位置在企业网络范围以外。在开发 Web 应用程序项目时,我们应当使用哪种协作开发模式?
使用非隔离开发模式。
Visual InterDev 开发人员的常见问题
在 Visual Studio .NET 中,我的团队是否能够在本地模式下工作?在 VID 中,每个开发人员都脱机工作,将所做的更改保存到本地工作副本中,然后再更新主服务器版本。在 Visual Studio .NET 中也可以这样做吗?
可以。与 IDE 中的明确标识不同,在 Visual Studio .NET 中协作开发 Web 项目时,本地模式为默认使用的方法。要使用本地模式,请使用隔离或半隔离开发模式。
在 Visual Studio .NET 中,我的团队是否能够在主控模式下工作?
可以。您可以将您的 Web 访问模式设置为 FrontPage,并使用非隔离开发模式。不过,在已编译的 ASP.NET 环境中,对于团队开发,通常并不推荐使用非隔离模式。
在 Visual Studio .NET 中,如何将我的工作副本发布到主服务器上或者将更改同步到主服务器上?
与 VID 不同,Visual Studio .NET 中没有 Release Working Copy(发布工作副本)命令。要在 Visual Studio .NET 中更新生产服务器(主服务器),必须使用几种方法之一对其进行部署。部署 ASP.NET 项目的第一步是更新源代码管理的主控副本。第二步是将项目文件复制到生产服务器。
怎样才能象在 VID 中那样从源代码管理删除我的项目?
File(文件)菜单上,单击 Source Control(源代码管理),然后单击 Change Source Control(更改源代码管理)。在 Change Source Control(更改源代码管理)对话框中,从源代码管理选择要删除的项目,然后单击 Disconnect(断开连接)。
工作副本这一术语在 Visual Studio .NET 中的含意与在 VID 中的含意相同吗?
并不完全相同。在 VID 中,工作副本是指您具有写入权限的 Web 的版本。在本地模式中,您的本地版本为工作副本。在主控模式中,您的主控副本为工作副本。
对于 Visual Studio .NET 中的文件共享 Web 项目,工作副本始终为您的个人版本。对于 FrontPage Web 项目,所有团队成员都将更改保存到同一主控副本中。
在我的工作副本(本地版本)上工作时,如何将我的更改同步到服务器?
如前文所述,只有文件共享 Web 项目才存在工作副本。在文件共享项目中,主控副本驻留在源代码管理数据库中,且无法使用浏览器进行访问。要使对工作副本所做的更改与源代码管理的主控副本同步,请从源代码管理获取最新的版本,在 Visual Studio 中生成项目,然后签入该项目。
附录A:设置动态URL Web 引用

如果您创建的解决方案既包含 XML Web service,又包含 ASP.NET Web 项目,且从您的 ASP.NET 项目引用 XML Web services,则 Web 引用对您有效,而对其他用户无效。

团队成员不能总是共享 Web 引用,因为 Visual Studio 在 Web.config 文件中将这些引用存储为静态、硬编码的字符串。如果所有团队成员都将自己的工作副本的项目位置设置为 http:/localhost/projectname,就不会发生这个问题,因为这样做可以有效地指定物理位置的相对路径 http://computername/projectname

对于非本地主机项目,您可以通过将项目的 Web.config 文件中的静态 Web 引用 URL 转换为动态属性来解决这个问题。您应使用动态属性配置应用程序,以便该属性的部分或全部属性值都存储在外部配置文件中,而不是存储在应用程序的已编译代码中。

提示:由于您或任何其他用户都可以在运行时更改属性值,因此,可以使用动态属性迅速而方便地测试不同的 Web services。

您还可以使用动态属性,使您的 Windows 应用程序更加易于测试、部署和管理。

以下步骤说明了在团队开发环境中,当引用调用项目所在的同一服务器上的 Web service 时,如何有效地共享 Web 引用。这些步骤假定您已经在名为 Server1 的服务器上创建了一个名为 WebApplication1 的文件共享 Web 项目和两个 Web services(WS1 和 WS2),还假定您已经将一个 Web 引用添加到了引用 WS1 的 WebApplication1。

提示:通过打开 Service1.asmx,切换到代码视图,然后从 Hello World 示例的相应代码行中删除注释,可以迅速创建 Web service。为了在运行时区分这两个服务,请在它们各自的文件中将“Hello World”更改为“Hello World: WS1”和“Hello World: WS2”。

在源代码管理下使 Web 引用 URL 可动态配置与共享

  1. 在 Solution Explorer(解决方案资源管理器)中,展开 Web References(Web 引用)文件夹,并选择相应的服务。
  2. 在 Properties(属性)窗口中,将 URL Behavior(URL 行为)的值从 Static(静态)更改为 Dynamic(动态)。

假定您的 Web service 返回某种类型的内容,Visual Studio 会自动将以下代码添加到项目的 Web.config 文件中:

' Visual Basic
// C#
<appSettings>
<add key="WebApplication1.Server1.Service1" value="
http://Server1/WS1/Service1.asmx" />
</appSettings>

在此示例中,关键字属性标识 Web 引用的名称,而值属性标识引用的目标。

  1. 在 Solution Explorer(解决方案资源管理器)中,右键单击 WebApplication1,指向 Add(添加),然后单击 Add New Item(添加新项)。
  2. Add New Item - WebApplication1(添加新项 - WebApplication1)对话框中,选择 Text File(文本文件)。
  3. Name(名称)框中,键入 User.config,然后单击 Open(打开)。
  4. 在 User.config 文件中,粘贴以下代码:

<?xml version="1.0" encoding="utf-8"?>
<appSettings>
value="http://localhost/ws1/Service1.asmx"/>
</appSettings>

5.打开 Web.config,将 更改为 ,然后删除 开始和结束标记之间的所有代码。