目前,我们的开发团队在其本地计算机上设置了他们正在IIS中工作的所有网站。我们正在考虑转而使用内置的ASP.NET开发服务器。
这是个好主意吗?使用ASP.NET dev Server有哪些优缺点?我们应该注意哪些问题?
感谢。
注意:在Win XP / IIS 5 / VS2005上运行
修改
没有意识到它被称为卡西尼。Cassini v IIS here的更多答案。
答案 0 :(得分:32)
ASP.NET DevService没有任何内容可以执行IIS无法做到的事情(您可以设置断点等,只需将VS调试器附加到ASP.NET运行时)。
但是,ASP.NET Dev WebService并不代表真正的生产环境,因此您可能会遇到在部署到生产环境时不会发现的陷阱。
因此,我要求在本地计算机上使用IIS完成所有开发。在IIS中配置站点并不需要太多工作。
答案 1 :(得分:25)
这是一个非常好的主意。以下是一些原因:
我所反对的唯一论据是,有一些非常罕见的边缘情况,其中Cassini内置服务器并不完全模仿IIS,因为您使用的是奇数端口号。我怀疑你会遇到它们,并且使用Cassini作为主要开发环境的 并不妨碍开发人员也可以访问计算机上的IIS。 实际上,我的对于大多数小型工作,首选安装程序是Cassini,然后在将代码移回共享源存储库之前部署到我的本地IIS以进行更深入的测试。
<强> [编辑] 强>
忘了重写网址。你确实需要IIS。内置XP IIS限制的一个例子是你只限于XP中的一个站点(可以有多个应用程序,但这是另一回事)。
答案 2 :(得分:5)
我必须为一个项目切换(返回)IIS,因为我需要设置一些虚拟目录,这在ASP.NET Development Web Server上是不可能的。
答案 3 :(得分:5)
正如我在此处所述:https://stackoverflow.com/questions/103785/what-are-the-disadvantages-of-using-cassini-instead-of-iis您的开发人员需要注意Cassini以本地用户身份运行,该用户通常是开发人员的管理员帐户。该开发将能够访问其帐户可以访问的任何文件或资源,这与他们在IIS 6服务器上看到的完全不同。
使用IIS和vdirs而不是单独的Cassini实例,另一件非常重要的事情是调试Web服务要容易得多。
答案 4 :(得分:2)
我知道有一点我的身份验证在Cassini上没有按预期运行(内置在开发服务器中)
另外,如果您需要测试ISAPI插件(例如重写器)之类的东西,我不确定它是如何在Cassini上完成的。
不断变化的港口对我来说也很令人不安。此外,对于解决方案中的每个Web项目,它会激活Casini服务器的另一个实例,每个实例需要20到50 MB的内存。
我一直使用IIS,设置起来非常简单,你们已经这样做了......
答案 5 :(得分:2)
我使用了这两种方法,我更喜欢在本地使用IIS而不是使用内置服务器。至少,您与最终部署设置更加一致。
答案 6 :(得分:1)
此外,使用IIS 5.1时,请务必获取JetStat IIS Admin,它会添加在IIS 5上禁用的功能,例如可以设置多个站点。
答案 7 :(得分:1)
我遇到了asp.net dev服务器的以下限制:
不支持虚拟目录。如果您在应用中需要它们,IIS似乎是您唯一的选择
经典的asp页面不能在dev服务器上运行。因此,如果你有一个混合的网络应用程序(就像我现在在我的客户端),IIS似乎是解决方案
如果您需要管理界面来配置设置,IIS可以更好地运行
当然,IIS要求您是本地管理员。
答案 8 :(得分:1)
在VS12中,开发服务器速度慢,需要几秒钟才能下载2kbyte文件。这在vs10中没有发生。当你有一堆jquery文件和css这是一个真正的问题。此外,每个页面都会重新查询所有css / js文件。非常慢的回归测试。
答案 9 :(得分:0)
我与dev服务器遇到的主要问题是SerializationExceptions,其中包含存储在线程上下文中的自定义安全主体。详情here。