gpt4 book ai didi

asp.net - 当我加载 URL 时,IIS 中实际发生了什么?

转载 作者:行者123 更新时间:2023-12-02 12:00:08 25 4
gpt4 key购买 nike

首先,希望大家圣诞快乐:)

过去几年我一直是一名桌面应用程序开发人员,但现在我全职从事 ASP.NET 工作(工作调动:))

因此,在过去的几天里,我发现自己越来越想知道当新访问者访问我的网址时实际会发生什么。

我刚刚开发了一个非常简单的基于 Signal R 的应用程序,我需要在所有 session 之间共享一些单例,现在在桌面上这非常简单,但我根本不确定网络:(

所以基本上,这是这个问题..

当假设有 5 个人访问我的 URL 时,IIS 实际上会做什么,他们都获得应用程序的单独实例还是使用同一个实例?如果你能把它分解成简单的术语,那就太棒了! :)

此外,假设我有一个具有静态单例的类库 - 它是所有 session 中该类的唯一实例?

希望这是有道理的:)

感谢您的帮助!

干杯。

最佳答案

这称为IIS 生命周期
完整的详细信息必须直接从 Microsoft 和 IIS 的创建者那里阅读。
并非所有 IIS 都相同。

Life Cycle Overview for IIS 7.0

Life Cycle Overview for IIS 5.0 and 6.0

如果您在互联网上搜索,还有更多。

do they all get a separate instance of the app or do they use the same one

如果您对同一应用程序使用多个池 (web garden)然后他们将请求拆分到多个池中,或者一个池一个实例负责处理该页面。

页面可以从不同的线程进行处理,但是 session 上有一个全局锁,因此如果您使用 MS session ,页面将以串行方式处理(除了不使用 session 的页面)

每个池都是保存静态数据的一个实例,并且对于来自该池的所有请求都是相同的。如果您使用两个池,您将拥有两组不同的静态数据。

关于 session 锁定的一些问题: Trying to make Web Method Asynchronous , Web app blocked while processing another web app on sharing same session

关于asp.net - 当我加载 URL 时,IIS 中实际发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13986419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com