代码之家  ›  专栏  ›  技术社区  ›  Nick

ASP.NET开发服务器或本地主机IIS?

  •  26
  • Nick  · 技术社区  · 17 年前

    目前,我们的开发团队在他们的本地计算机上设置了他们在iis中工作的所有网站。我们正在考虑改用内置的asp.net开发服务器。

    这是个好主意吗?使用asp.net dev服务器的优缺点是什么?有什么问题需要我们注意吗?

    谢谢。

    注意:在win xp/iis 5/vs2005上运行

    编辑:

    没有意识到那是卡西尼号。更多答案 Cassini v IIS here 是的。

    11 回复  |  直到 9 年前
        1
  •  32
  •   FlySwat    17 年前

    ASP.NET开发人员Web服务不能做IIS不能做的事情(您可以设置断点等,只需将VS调试器附加到ASP.NET运行时)。

    但是,asp.net dev webservice并不代表真正的生产环境,因此,您可能会被gotchas捕获,这是您在部署到生产环境时所不期望的。

    因此,我要求所有的开发都在本地计算机上使用i is完成。在iis中配置站点不需要太多工作。

        2
  •  25
  •   Joel Coehoorn    15 年前

    这是个很好的主意。以下是一些原因:

    • 你不再 需要 管理访问您的计算机以进行Web开发(这仍然会有帮助)。
    • 测试快速更改并继续工作要容易得多,而且 faster iteration cycles are good 是的。
    • 它可以简化开发环境的设置和部署。
    • XIS版本的IIS具有局限于CASINI侧的服务器版本中的限制。

    我唯一反对的理由是,有几个非常罕见的边缘情况,卡西尼内置服务器不完全模拟IIS,因为您使用的是奇数端口号。我怀疑你会碰到他们,而且 使用卡西尼作为主要的DEV环境不会妨碍开发者在机器上访问IIS。 事实上,我更喜欢的设置是cassini,首先用于大多数小工作,然后部署到本地iis进行更深入的测试,然后再将代码移回共享源代码存储库。

    [编辑]
    忘记了url重写。你真的需要iis。一个内置XP IIS的限制的例子是,你只限于XP中的一个站点(可以有多个应用程序,但这是另一回事)。

        3
  •  5
  •   splattne    17 年前

    我不得不为一个项目切换(返回)到iis,因为我需要设置一些 虚拟目录 这在ASP.NET开发Web服务器上是不可能的。

        4
  •  5
  •   Community Mohan Dere    9 年前

    正如我在这里所说: https://stackoverflow.com/questions/103785/what-are-the-disadvantages-of-using-cassini-instead-of-iis 您的开发人员需要注意,cassini以本地用户身份运行,这通常是开发人员的管理帐户。开发人员将能够访问他们的帐户可以访问的任何文件或资源,这与他们在iis 6服务器上看到的完全不同。

    另一个比较大的问题是调试Web服务,使用IIS和VDRs比单独的CasII实例要容易得多。

        5
  •  2
  •   CubanX    17 年前

    我知道在cassini(内置开发服务器)上,有一次我遇到了身份验证无法正常工作的问题。

    另外,如果你需要测试诸如isapi插件(例如一个重写器)之类的东西,我不确定卡西尼号是如何做到的。

    不断变化的港口也让我相当不安。另外,对于您的解决方案中的每个Web项目,它会触发CasII服务器的另一个实例,并且每一个都占用20到50兆字节的内存。

    我一直使用IIS,安装起来很容易,你们已经在做了…

        6
  •  2
  •   Jeremy Bade    17 年前

    我使用了这两种方法,我更喜欢在本地使用iis,而不是使用内置服务器。至少你更符合最终的部署设置。

        7
  •  1
  •   FlySwat    17 年前

    另外,在使用iis 5.1时,请确保 JetStat IIS Admin ,它添加了IIS 5上现成禁用的功能,例如可以设置多个站点。

        8
  •  1
  •   Joe DotNet    17 年前

    我在使用asp.net dev服务器时遇到了以下限制:

    1. 不支持虚拟目录。如果你的应用中需要它们,iis似乎是你唯一的选择

    2. 传统的asp页面不在dev服务器中运行。所以如果你有一个混合的web应用程序(就像我现在在我的客户机上一样),iis似乎是解决方案

    3. 如果您需要一个管理用户界面来配置设置,则iis可以更好地工作

    当然,iis要求您是本地管理员。

        9
  •  1
  •   VVPG    13 年前

    我注意到的另一个区别是,卡西尼运行为32位进程,而您无法控制它,而您可以控制IIS应用程序的应用程序池以禁止32位(假设IIS正在64位服务器上运行)。如果Web应用程序在64位进程(比如SharePoint基金会/服务器2010)中调用API,这一点就变得尤为重要。当你用卡西尼号作为你的调试服务器调试你的web应用程序时,你会得到“找不到url的web应用程序”。验证是否正确键入了url“实例化对象时出现类型错误。如果在应用程序池中使用IIS调试运行的应用程序,该应用程序池以64位的身份运行,并允许访问SharePoint数据库,则可以正确调试。

        10
  •  1
  •   user965445    13 年前

    在vs12中,开发服务器非常慢,需要几秒钟下载一个2kbyte文件。这在vs10中没有发生。当您有一堆jquery文件和css时,这是一个真正的问题。每个页面都会重新查询所有css/js文件。非常缓慢的回归测试。

        11
  •  0
  •   Peter B    17 年前

    我在dev服务器上遇到的主要问题是存储在线程上下文中的自定义安全主体的序列化异常。详情 here 是的。

    推荐文章