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

发布于 2024-08-26 14:04:22 字数 366 浏览 6 评论 0原文

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

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

顺便说一句:对 的响应中指出了一些差异这个问题,但我确信一定还有更多。

During development, I usually test ASP.Net applications using the Web Development Server (sometimes called Cassini). Occasionally, when I publish to a real IIS environment, I notice that the application behaves differently.

So, what are the differences between the way that production IIS servers and the ASP.Net Web Development Server behave? I don't mean differences in feature sets (clearly IIS has lots of features that are not present in WDS), but differences in the way they handle ASP.Net.

BTW: There are a few differences noted in the responses to this question, but I am sure there must be more.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦旅人picnic 2024-09-02 14:04:22

我在此处获取了一些内容其他地方:

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

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

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

  • 开发服务器不支持 HTTPS。

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

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

Some things I have picked up here and elsewhere:

  • The security context in which the respective servers run ASP.NET apps is different. For the Dev Server, this is the current user's account. For IIS, this is the context of the special user (ASPNET or NETWORK SERVICES) that typically has limited privileges.

  • For a Web Site, the Development Server subjects static files (images and style sheets etc)to ASP.NET authorization. However, IIS serves static files without using authorization rules.

  • The Development Server doesn't support SMTP, so you can't send emails directly from this server.

  • The Development Server doesn't support HTTPS.

  • There is a difference in the way the two servers handle paths that contain "//". The Dev server is reportedly being more forgiving.

  • The Dev server randomly chosen port rather than the standard HTTP port 80.

鸠书 2024-09-02 14:04:22

一些差异可能是:

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

Some differences might be:

  • You can't use virtual directories while working with cassini. This might lead to unexpected behaviour when deploying for the first time, due to missing folder permissions. (e.g. You have a /image/ directory on your local machine, but in the IIS /image/ is the virtual directory pointing elsehwere)
  • Some
    third party assemblies (like ComponenArt Web DLL) cause problems
    with specific port issues. It's best
    to develop with the IIS to minimize
    compability problems on deploying.
  • The trustlevel of the target IIS might be
    lower that your development settings,
    this might result in malfunctioning,
    depending on what you do with the
    IIS, like reading the Uptime.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文