HTTP服务器软件系统的设计与实现(9)
时间:2017-02-21 13:09 来源:毕业论文 作者:毕业论文 点击:次
foreach (var sessionMgr in manager.Values) { //### check expired session sessionMgr.UnloadExpiredInstances(); } } /// <summary> /// 返回一个的应用实例对应的请求。 /// </summary> /// <param name="e"></param> /// <param name="application"></param> /// <returns>false if not exist</returns> public bool TryGetApplicationInstance(HttpRequest e, out ApplicationInstanceBase application) { /// /// 从请求得到正确的应用程序的逻辑很简单, /// 对于识别应用程序,我们看看在url中的主要路径,是后的第一的域domain.xxx前: /// 所以http://domain.xxc/maindir/dir1/dir2,dir1/dir2在主路径MAINDIR的相对的内部路径。 /// 该规则是在主路径指示的应用程序的名称,所以 /// http://localhost:8080/chat/index.html 识别的聊天应用程序 /// http://localhost:8080/chat/chat2/index.html 识别的聊天应用程序 /// /// application = null; string[] paths = e.Path.Split(new string[] { "/" }, StringSplitOptions.RemoveEmptyEntries); if (paths.Length == 0) return false; string mainPath = paths[0]; /// /// 立即检查是否存在的ApplicationUniqueName等于主路径 /// if (!applications.ContainsKey(mainPath)) return false; //Ok the applicatoin Exist! SessionManager sessionMgr = applications[mainPath]; (责任编辑:qin) |