Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET开发服务器还是本地主机IIS?_Asp.net_Iis_Localhost_Cassini - Fatal编程技术网

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

ASP.NET开发服务器还是本地主机IIS?,asp.net,iis,localhost,cassini,Asp.net,Iis,Localhost,Cassini,目前,我们的开发团队在本地机器上安装了他们在IIS中工作的所有网站。我们正在考虑改用内置的ASP.NET开发服务器 这是个好主意吗?使用ASP.NET开发服务器的优缺点是什么?我们有什么需要注意的地方吗 谢谢 注意:在Win XP/IIS 5/VS2005上运行 编辑: 不知道它叫卡西尼号。。更多答案。ASP.NET开发人员Web服务所能做的事情没有IIS做不到的(您可以设置断点等,只需将VS调试器连接到ASP.NET运行时) 但是,ASP.NET开发人员Web服务并不代表真正的生产环境,因此,

目前,我们的开发团队在本地机器上安装了他们在IIS中工作的所有网站。我们正在考虑改用内置的ASP.NET开发服务器

这是个好主意吗?使用ASP.NET开发服务器的优缺点是什么?我们有什么需要注意的地方吗

谢谢

注意:在Win XP/IIS 5/VS2005上运行

编辑:


不知道它叫卡西尼号。。更多答案。

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

但是,ASP.NET开发人员Web服务并不代表真正的生产环境,因此,您可能会遇到部署到生产环境时无法预料的问题


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

我知道,在Cassini(内置开发服务器)上,我曾经遇到过身份验证无法正常工作的问题

另外,如果你需要测试像ISAPI插件(比如re-writer)这样的东西,我不确定在卡西尼号上是如何做到的

不断变化的港口也让我感到不安。此外,对于解决方案中的每个web项目,它都会启动另一个Casini服务器实例,每个实例占用20到50MB的内存


我一直在使用IIS,安装起来非常简单,你们已经在这么做了…

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

  • 您不再需要管理员访问您的机器进行web开发(这仍然是有帮助的)
  • 测试一个快速的变化并继续工作会容易得多
  • 它可以简化开发环境的设置和部署
  • XP版本的IIS有一些限制,这些限制在Cassini端采用的服务器版本中不存在
我所知道的唯一反对的论点是,Cassini内置服务器不完全模仿IIS的情况非常罕见,因为您使用的是奇数端口号。我怀疑您是否会遇到它们,使用Cassini作为主要开发环境并不妨碍开发人员也可以访问机器上的IIS。事实上,对于大多数小型工作,我首选的设置是Cassini first,然后部署到本地IIS进行更深入的测试,然后再将代码移回共享源存储库

[编辑]

忘了重新编写url。你确实需要IIS。内置XP IIS的一个限制示例是,您在XP中只能使用一个站点(可以有多个应用程序,但这是另一回事)。

我使用了这两种方法,我更喜欢本地使用IIS,而不是使用内置服务器。至少你与最终的部署设置更加一致。

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

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

正如我在这里所述:您的开发人员需要知道Cassini以本地用户身份运行,这通常是开发人员的管理员帐户。开发人员将能够访问他们的帐户可以访问的任何文件或资源,这与他们在IIS 6服务器上看到的完全不同


另一个相当大的问题是,使用IIS和VDIR调试web服务比使用单独的Cassini实例容易得多。

我在asp.net开发服务器上遇到了以下限制:

  • 不支持虚拟目录。如果你在应用程序中需要它们,IIS似乎是你唯一的选择

  • 经典asp页面不会在开发服务器中运行。因此,如果你有一个混合的web应用程序(就像我现在在我的客户机上一样),IIS似乎是解决方案

  • 如果您需要管理员用户界面来配置设置,IIS工作得更好


  • 当然,IIS要求您是本地管理员

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

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

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

    同意。我用这种方式运行一个项目,已经成功了好几次。您应该始终使用本地IIS。+1绝对,本地IIS最适合避免(并在发布前解决)任何问题本地IIS不会给您提供编辑和继续的优势。最好用IIS7取代旧版的IIS Express(或者在您阅读本文时可能会用到),它将IIS 7.5带给非管理员用户,并允许开发人员在主机操作系统为XP的情况下使用IIS 7.x功能。见-1因为你说