修剪.aspx时,Web服务不工作.aspx
问题描述:
我想从我的web应用程序url中删除“.aspx”。我也使用webservices。修剪.aspx时,Web服务不工作.aspx
如果我使用下面的代码Web服务不起作用。
的Global.asax
protected void Application_BeginRequest(object sender, EventArgs e)
{
String WebsiteURL = Request.Url.ToString();
String[] SplitedURL = WebsiteURL.Split('/');
String[] Temp = SplitedURL[SplitedURL.Length - 1].Split('.');
// This is for aspx page
if (!WebsiteURL.Contains(".aspx") && Temp.Length == 1)
{
if (!string.IsNullOrEmpty(Temp[0].Trim()))
Context.RewritePath(Temp[0] + ".aspx");
}
}
的如: -
实际页面是Default.aspx的,但我想显示在地址栏默认。所以我使用Global.asax来删除(.aspx)。它工作正常。但Web服务不起作用(Default.asmx)
答
有一个模块可以处理这个问题,而无需直接操作url,如下所述:http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx。
安装包装,Microsoft.AspNet.FriendlyUrls
。
在你RouteConfig
,无扩展名的URL使用启用:
routes.EnableFriendlyUrls();
可以使用扩展方法生成友好的URL,例如,生成/富/酒吧/ 34,你可以使用:
<a href="<%: FriendlyUrl.Href("~/Foo", "bar", 34) %>">Click me</a>
欢迎来到堆栈溢出:-) 请看[问] 和[mcve]。这将有助于获得有用的答案。 – JimHawkins
请将您评论中的信息添加到问题中(通过'edit'question)。您不应该致电其他成员阅读所有关于寻找解决方案的问题的评论。 – JimHawkins
我会考虑使用IIS的['URLRewrite'](http://www.iis.net/learn/extensions/url-rewrite-module)模块。不一定是最容易使用,但非常强大,并会做我相信你想要的 – freefaller