赞
踩
网上找了好长时间关于隐藏 .asmx页面直接访问的方法,综合了网友们的回复后,终于解决,下面分享给大伙;
第一步:在Global.asax中,将真实的.asmx页面隐藏起来,如下:
在ajax调用时,可以使用 /commweb/EventName 进行进行正常调用,通过URL转换,将 commweb 转换为 comm.asmx(你真正的服务页面)
- //解析指定服务页面
- protected void Application_BeginRequest(object sender, EventArgs e)
- {
- string hPath = Request.Url.LocalPath.ToString().ToLower();
- if (!hPath.Contains("/comm.asmx"))
- {
- if (hPath.Contains("/commweb"))
- {
- Context.RewritePath(hPath.Replace("/commweb", "/comm.asmx"));
- }
- }
- }
第二步:配置web.config,将 asmx 页面指向 AsmxErrorPage.aspx 页面,
配置 <wsdlHelpGenerator href ="AsmxErrorPage.aspx" />,代码如下:
- <system.web>
- <compilation debug="true" targetFramework
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。