如何在本地IIS 7上运行asp.net项目

时间:2017-07-18 13:37:05

标签: c# asp.net iis

我有一个asp.net项目,我使用TFS-2017 Release Managment部署到一个环境我们遇到的问题是,当我们部署网站时,用户有旧的(缓存的)图像/内容我想配置IIS 7以便我可以在本地测试一些解决方案,网站在localhost:89上打开但是当我点击一个按钮它重定向我到一个实时网站时,我尝试用

配置Hosts文件
127.0.0.1 example.com
127.0.0.1 www.example.com

但这不起作用,我的web.config文件包含很多appSettings 这是导致我重定向的原因(我想)。

问题:如何配置IIS以便它只使用Localhost:89,当我点击一个按钮时,它会将我重定向到www.example.com而不是127.0.0.1:89?< / p>

1 个答案:

答案 0 :(得分:1)

如何配置IIS以便它只使用Localhost:89,当我点击一个按钮时,它会将我而不是www.example.com重定向到127.0.0.1:89?

  

您无法为此

配置IIS

IIS不会自动重定向它是正在执行它的应用程序。如果您的应用程序已编写代码以重定向到另一个页面,则从IIS端您无法执行任何操作。流程将如下所示

  1. 用户点击按钮
  2. 在asp.net端,应用程序代码会进行一些处理(可能会检查传入的URL,如果它与某些内容不匹配)并重新发送到www.example.com。这会发送响应302状态(或任何301或307)位置标题指向www.example.com
  3. 您的浏览器会看到302状态并将用户重定向到www.example.com
  4. 由于重定向是应用程序发送的响应消息,而实际的重定向是由浏览器完成的,因此从IIs方面你不能做太多。

    正如您所做的那样,您可以告诉浏览器www.example.com是localhost(通过编辑主机(C:\ Windows \ System32 \ drivers \ etc \ hosts)文件。但这与IIS无关。 / p>

    您必须与应用程序开发人员联系,了解它为何重定向并根据设置进行条件重定向。

    Hosts文件配置看起来很好

    127.0.0.1 example.com
    127.0.0.1 www.example.com
    

    但是你可能已经知道它只能在同一台机器上运行。所以如果从命令行ping www.example com,你应该得到如下输出

    D:\>ping www.example.com
    
    Pinging www.example.com [127.0.0.1] with 32 bytes of data:
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
    
    Ping statistics for 127.0.0.1:
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 0ms, Average = 0ms
    

    您的ping工作正常,您必须完全关闭浏览器并重新打开它(如果是chrome,请关闭所有chrome实例)。然后从浏览器访问www.example.com,它应该转到localhost。