System.Web.Routing凋兆腎寂旗鷹盾裂?眉? RouteCollection窃
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-19
ull) throw new ArgumentNullException("httpContext"); if (httpContext.Request == null) throw new ArgumentException(RoutingResources.RouteTable_ContextMissingRequest, "httpContext"); if (!this.RouteExistingFiles) { string appRelativeCurrentExecutionFilePath = httpContext.Request.AppRelativeCurrentExecutionFilePath; if (((appRelativeCurrentExecutionFilePath != "~/") && (this._vpp != null)) && (this._vpp.FileExists(appRelativeCurrentExecutionFilePath) || this._vpp.DirectoryExists(appRelativeCurrentExecutionFilePath))) return null; } using (this.GetReadLock()) foreach (RouteBase base2 in this) { RouteData routeData = base2.GetRouteData(httpContext); if (routeData != null) return routeData; } return null; } private static string GetUrlWithApplicationPath(RequestContext requestContext, string url) { string str = requestContext.HttpContext.Request.ApplicationPath ?? string.Empty; if (!str.EndsWith("/", StringComparison.OrdinalIgnoreCase)) str = str + "/"; return requestContext.HttpContext.Response.ApplyAppPathModifier(str + url); } public VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values) { requestContext = this.GetRequestContext(requestContext); using (this.GetReadLock()) foreach (RouteBase base2 in this) { VirtualPathData virtualPath = base2.GetVirtualPath(requestContext, values); if (virtualPath != null) { virtualPath.VirtualPath = GetUrlWithApplicationPath(requestContext, virtualPath.VirtualPath); return virtualPath; } } return null; } public VirtualPathData GetVirtualPath(RequestContext requestContext, string name, RouteValueDictionary values) { RouteBase base2; bool flag; requestContext = this.GetRequestContext(requestContext); if (string.IsNullOrEmpty(name)) return this.GetVirtualPath(requestContext, values); using (this.GetReadLock()) flag = this._namedMap.TryGetValue(name, out base2); if (!flag) throw new ArgumentException( string.Format(CultureInfo.CurrentUICulture, RoutingResources.RouteCollection_NameNotFound, new object[] {name}), "name"); VirtualPathData virtualPath = base2.GetVirtualPath(requestC |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于System.Web.Routing凋兆腎寂旗鷹盾裂?眉? RouteCollection窃的所有评论