1

当我通过 url 访问它时,我有一个在最新的 Mod mono 上运行的 asp.net 应用程序

1. http://myServer.com/App 

或者

2. http://localhost:81/App

我为每个地址得到不同的实例。我怎么知道有什么不同?通过检查实际触发两次的 Application_Start 和具有不同值的 asp.net 应用程序变量。

只有当我想通过 SSH 连接到我的服务器时,我才使用第二个地址,并且我使用本地端口转发,以便从我的计算机在端口 81 上发送的每个请求实际上都转发到我服务器上的端口 80。

两个地址都指向同一个物理位置,我不明白为什么每个地址后面实际上有两个不同的实例?

谢谢

编辑

具体例子:

这就是我在 Global.asax.cs 中存储应用程序启动事件时间的方式

    public static string AppStartTime;

    protected void Application_Start(object sender, EventArgs e)
    {
        AppStartTime = DateTime.Now.ToString();
    }

这是用于远程端口转发到远程 Apache 服务器的plink.exe的参数:

    -L :7787:localhost:80

如果我在 3 个不同的端口上使用 plink 3 次,当我通过不同的 url 访问同一个 Web 应用程序时,会显示 3 个不同的时间值。

    http://localhost:7787/ => value of AppStartTime = time1

    http://localhost:7788/ => value of AppStartTime = time2

    http://localhost:7789/ => value of AppStartTime = time3
4

1 回答 1

1

此问题涉及 Web 服务器配置问题,与 Mono 无关。似乎您在 Apache 中配置了两个虚拟服务器/网站,而不是具有两个不同绑定的单个虚拟服务器。

更改您的配置,以便您拥有一个设置了两个绑定的虚拟服务器,并且您将在内存中拥有一个实例。

于 2012-11-05T22:34:20.787 回答