1

每个 ASP.NET Web API 教程都向您展示了如何创建项目、实现几个控制器,然后使用 localhost URL 从浏览器中对其进行测试。您如何配置 SSL?如何从我的 LAN 上的另一个客户端(例如手机或平板电脑上的应用程序,甚至另一台计算机上的浏览器)测试我的新 REST 资源?

有教程教您如何部署到 Azure 和生产 IIS 服务器,但有时您不只是构建网站,而且您希望在开发期间对涉及本地网络上的多个站点或设备的软件系统进行集成测试。

4

1 回答 1

1

在搞砸了这个并在互联网上搜索了几个小时的答案之后,我终于找到了解决我的问题的东西:Scott Hanselman 的博客条目。IIS Express 就是答案。

在 VS 2010 SP1 和 IIS Express 出现之前,从网络上的其他客户端进行 SSL 和调试曾经非常困难。在 VS 2010 和更早的版本中,Cassini 是您的默认开发 Web 服务器,并且不支持 SSL。您过去必须下载并安装成熟的 IIS,然后在您的开发机器上将其作为本地服务运行。从 VS 2010 SP1 开始,您可以将项目转换为使用 IIS Express 进行开发。

如果您使用的是 VS 2010,请使用 Scott 博客条目中的步骤。在 VS 2012 中,IIS Express 是默认的开发 Web 服务器。

SSL

使用 IIS Express,您可以通过修改项目的属性轻松打开 SSL。不要右键单击并转到属性。那会把你带到错误的地方。在解决方案资源管理器中突出显示您的项目并转到菜单:查看->其他窗口->属性窗口(或按 Alt+Enter)。在属性窗口中,将“SSL Enabled”设置为“True”。

配置备用 URL(不是 localhost)

您可以在文档文件夹中的配置文件中配置项目的 IIS Express URL 绑定(例如 C:\Users\Dan\Documents\IISExpress\config\applicationhost.config)。打开该文件并按名称搜索您的项目。Scott 的博客条目将引导您使用命令行设置非本地主机绑定。在使用 SSL 和 URL ACL 的过程中存在一些问题。Scott 将引导您完成所有工作。

希望这对将来的某人有所帮助,但我想发布它,以便我可以参考 Scott 的博客条目。


更新

我使用博客条目中的信息创建了一些 Powershell 模块,以帮助设置 Web 服务的托管,以便使用 IIS Express:Powershell 模块从其他机器进行测试。查看 iis.psm1。它需要general.psm1。vs.psm1 对于从 Powershell 构建项目也可能很有用。

于 2013-09-06T22:02:08.950 回答