Windows Communication Foundation (WCF) 示例旨在共享一个通用的虚拟目录,该目录名为 servicemodelsamples,并映射到 %SystemDrive%\inetpub\wwwroot\servicemodelsamples 文件夹。
注释
%SystemDrive% 通常是 C: 或 D:,具体取决于安装 Internet Information Services (IIS) 的驱动器位置。
可以从 Windows Communication Foundation 示例One-Time 安装过程中运行 Setupvroot.bat 和 Cleanupvroot.bat 文件,以创建虚拟目录。 如果想要手动创建虚拟目录,请使用以下过程。
过程
在 IIS 7.0 或 7.5 中创建虚拟目录
在“开始”菜单中,单击“运行”,然后键入“inetmgr”以打开 Internet Information Services (IIS) MMC 管理单元。
在左侧窗格中,展开包含计算机名称的节点,然后展开“网站”节点。
右键单击 “默认网站”,然后选择“ 添加应用程序 ”以打开 “添加应用程序”窗口。
在窗口中,键入
servicemodelsamples
为要创建的虚拟目录的别名。创建以下目录:%SystemDrive%\inetpub\wwwroot\servicemodelsamples
将物理路径设置为 %SystemDrive%\inetpub\wwwroot\servicemodelsamples。 大多数 WCF 示例在生成时将服务可执行文件复制到此位置。
单击 “确定” 。 现在,将为 WCF 示例创建 Web 应用程序。
注释
此任务只能执行一次,因为所有 WCF 示例都使用相同的 servicemodelsamples Web 应用程序。
注释
出于本文档的目的,术语
virtual directory
是Web application
的同义词。除了创建虚拟目录之外,还必须设置其属性,使 WCF 服务能够运行。 有关详细信息,请参阅下文。
在 IIS 5.1 或 6.0 中创建虚拟目录
打开命令提示符窗口并键入
start inetmgr
,以打开 Internet Information Services (IIS) MMC 管理单元。在左窗格中,展开具有计算机名称的节点,然后展开 “网站” 节点。
右键单击 “默认网站 ”,然后选择“ 新建”虚拟目录 以打开“虚拟目录创建”向导。
在向导中,键入
servicemodelsamples
为要创建的虚拟目录的别名。将路径设置为 %SystemDrive%\inetpub\wwwroot\servicemodelsamples。 大多数 WCF 示例在生成时将服务可执行文件复制到此位置。
单击 “下一步” 。
默认情况下,选中以下复选框:
阅读
运行脚本(如 ASP)
单击“ 下一步”,然后单击“ 完成 ”以完成向导。
注释
此任务只能执行一次,因为所有 WCF 示例都使用相同的 servicemodelsamples 虚拟目录。
在 IIS 7.0 或 7.5 中设置其他虚拟目录属性
单击 servicemodelsamples 节点。 窗口的底部列有两个视图。 选择“ 功能视图 ”(如果尚未选择)。
双击“目录浏览”条目。
在“作”窗格中,选择“ 启用 ”选项。 这使你能够使用浏览器访问目录,这有助于调试服务。
最后,必须设置 servicemodelsamples 文件夹的安全属性,以允许其他人访问它。 有关详细信息,请参阅下文。
在 IIS 5.1 或 6.0 中设置其他虚拟目录属性
右键单击 servicemodelsamples 节点,然后单击“ 属性”。
默认情况下,选中以下复选框:
阅读
日志访问
为此资源编制索引
选中 “目录浏览 ”复选框。 这使你能够使用浏览器访问目录,这有助于调试服务。
在 IIS 7.0 或 7.5 中设置文件夹的安全属性
导航到 %SystemDrive%\inetpub\wwwroot\servicemodelsamples。
右键单击 servicemodelsamples 文件夹,然后单击“共享”或“共享”。
单击“ 添加” 按钮左侧的向下箭头。
选择 “查找” 条目。 “选择用户或组”窗口随即打开。
单击 “高级” 。
单击 “位置”。 “ 位置” 窗口现已打开。
选择对应于所使用计算机的项。 请务必选择本地计算机,而不是对应于所列出的任何域或网络的项。 选择计算机后,单击“ 确定”。
单击“立即查找”。 这会使用与本地计算机关联的对象填充搜索结果。
在“名称”(相对可分辨名称)列中查找IIS_IUSRS项。 选择该条目,然后单击“ 确定 ”关闭搜索结果窗口。
单击“ 确定 ”关闭 “选择用户或组 ”窗口。
单击“ 共享 ”以保留更改。
完成启用共享的更改后,单击“ 完成 ”关闭 “文件共享 ”窗口。
在 IIS 5.1 或 6.0 中设置文件夹的安全属性
导航到 %SystemDrive%\inetpub\wwwroot\servicemodelsamples。
右键单击 servicemodelsamples 文件夹,然后单击“ 共享和安全”。
单击“安全”选项卡。
如果使用 IIS 6.0,请在 “组”或“用户名 ”框中检查是否已列出 Internet 来宾帐户 。
如果未列出:
单击“ 开始 ”,然后单击 “控制面板”。
如果未看到 “用户帐户 ”图标,请单击“ 切换到类别视图”。
单击 “用户帐户 ”图标。
在“或选取控制面板图标”下,单击 “用户帐户”。
在“ 用户帐户 ”对话框中,单击“ 高级 ”选项卡。
单击 “高级” 。
在“ 本地用户和组 ”对话框中,单击以展开 “用户” 文件夹。
在右窗格中,双击 “Internet 来宾帐户”。
在“ 属性 ”对话框中,复制用作 Internet 来宾帐户的名称。 默认情况下,名称以“USR_”开头,后跟计算机的名称。
关闭“属性”对话框。
关闭 “本地用户和组 ”对话框。
关闭“ 用户帐户 ”对话框。
关闭“其他 用户帐户 ”对话框。
在 servicemodelsamples“属性 ”对话框中的“ 安全 ”选项卡上,单击“ 添加”。
输入计算机的名称后加上反斜杠,然后粘贴互联网用户账户的名称,例如 myMachineName\%InternetGuestAccountName%
单击 “检查名称” 以验证添加项。 如果该名称有效,则名称以所有大写字母表示,并带有下划线。
对于 IIS 6.0,还请检查“ 组”或“用户名 ”框中是否列出了网络服务。
如果未列出网络服务:
单击 添加。
在“选择用户或组”对话框中,键入后跟反斜杠的计算机名称。
在反斜杠后键入 服务 (无空格)。
单击“检查名称”。
如果找到多个名称,请选择 “网络服务 ”,然后单击“ 确定”。
单击“ 确定 ”关闭 “选择用户或组 ”对话框。
如果您在使用 Windows XP SP2 和 IIS 5.1,请检查组或用户名框中是否同时列出了 Internet 来宾帐户和 ASPNET。
请注意,ASPNET 用户可能是内置 用户 安全组的成员。 如果是这样,则如果“ 用户组 ”列在对话框中,则无需将其添加为允许用户列表的单独项。
若要检查 ASPNET 是否是 用户 安全组的一部分,请执行以下作:
在 “开始” 菜单上,单击 “控制面板” 。
单击 “用户帐户 ”图标。
在 “组” 列中,检查 ASPNET 的值是否为“用户”。