IIS和ASP.Net Web开发服务器之间的行为差​​异?

时间:2010-03-22 11:00:28

标签: asp.net iis cassini

在开发过程中,我通常使用Web Development Server(有时称为Cassini)测试ASP.Net应用程序。有时,当我发布到真正的IIS环境时,我注意到应用程序的行为方式不同。

那么,生产IIS服务器和ASP.Net Web开发服务器的行为方式有何不同?我并不是说功能集的差异(显然IIS有很多WDS中没有的功能),但它们处理ASP.Net的方式不同。

BTW:对this question的回复中提到了一些差异,但我确信必须有更多差异。

2 个答案:

答案 0 :(得分:4)

我已经选择了here和其他地方的一些事情:

  • 各个服务器运行ASP.NET应用程序的安全上下文不同。对于Dev Server,这是当前用户的帐户。对于IIS,这是特殊用户(ASPNET或NETWORK SERVICES)的上下文,通常具有有限的权限。

  • 对于网站,开发服务器对静态文件(图像和样式表等)进行ASP.NET授权。但是,IIS在不使用授权规则的情况下提供静态文件。

  • 开发服务器不支持SMTP,因此您无法直接从此服务器发送电子邮件。

  • 开发服务器不支持HTTPS。

  • 两个服务器处理包含“//”的路径的方式不同。据报道,Dev服务器更加宽容。

  • 开发服务器随机选择的端口而不是标准的HTTP端口80.

答案 1 :(得分:0)

可能存在一些差异:

  • 使用cassini时无法使用虚拟目录。由于缺少文件夹权限,这可能会在第一次部署时导致意外行为。 (例如,您的本地计算机上有/ image /目录,但在IIS / image /中是指向elsehwere的虚拟目录)
  • 一些 第三方程序集(如ComponenArt Web DLL)会导致问题 具体的端口问题。这是最好的 用IIS开发最小化 部署中的兼容性问题。
  • 目标IIS的trustlevel可能是 降低你的开发设置, 这可能会导致故障, 取决于你做什么 IIS,就像读取Uptime一样。