C# 如何在本地运行asp.net project IIS 7

C# 如何在本地运行asp.net project IIS 7,c#,asp.net,iis,C#,Asp.net,Iis,我有一个asp.net项目,我使用TFS-2017版本管理将其部署到一个环境中。我们遇到的问题是,当我们部署网站时,用户有旧的(缓存的)图像/内容,我想配置IIS 7,以便在本地测试一些解决方案,网站在localhost:89上打开,但当我单击一个按钮时,它会将我重定向到一个实时网站,我尝试使用配置主机文件 127.0.0.1 example.com 127.0.0.1 www.example.com 但这不起作用,我的web.config文件有很多包含 我想这就是导致我重定向的原因 问题:我

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

127.0.0.1 example.com
127.0.0.1 www.example.com
但这不起作用,我的web.config文件有很多包含 我想这就是导致我重定向的原因


问题:我如何配置IIS,使其仅使用Localhost:89,当我单击按钮时,它会将我重定向到127.0.0.1:89而不是www.example.com?

我如何配置IIS,使其仅使用Localhost:89,当我单击按钮时,它会将我重定向到127.0.0.1:89

无法为此配置IIS

IIS本身不重定向,而是由应用程序进行重定向。如果您的应用程序编写了代码以重定向到另一个页面,则从IIS端您无法执行任何操作。流程如下所示

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

    您可以通过编辑hosts(C:\Windows\System32\drivers\etc\hosts)文件告诉浏览器www.example.com是本地主机。但这与IIS无关

    您必须与应用程序开发人员进行检查,以了解其重定向的原因,并根据设置进行条件重定向

    主机文件配置看起来不错

    127.0.0.1 example.com
    127.0.0.1 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
    
    D:\>ping www.example.com
    使用32字节数据ping www.example.com[127.0.0.1]:
    
    来自127.0.0.1的回复:bytes=32 timeGreat Answer!,那么如何编辑主机文件使其工作我上面的示例不工作。我找不到更多关于此的信息。在答案中添加了更多详细信息。如果您需要其他内容,请告诉我我我刚刚注意到它的
    https://www.example.com
    (没有空格)这有什么不同吗?我在命令提示符中得到的输出与您相同,但当我尝试访问它时,它不起作用。您在访问时收到的错误是什么。要使此工作正常,您还应该在IIS中有适当的绑定(如果还没有)。我没有收到任何错误,网页只是正常打开。绑定“类型:http”IP地址:所有未分配的端口89。”--这就是我在IIS中拥有的