我正在尝试在SharePoint网站上设置一些友好的URL。我知道我可以用RewritePath做ASP.Net 2.0友好的SP1,但是我想知道是否有可能使用ASP.NET 3.5 URL附带的URL。
我想我已经知道了如何加载我的路由表,但是我不清楚应该使用什么方法来获得正确的IHttpHandler。
谢谢!
发布于 2009-07-04 13:43:57
我最终拿到了Ryan的东西:
var route = new Route("blah/{*path}", new MyRouteHandler());
RouteTable.Routes.Add(route);
public class MyRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
//rewrite to some know sharepoint path
HttpContext.Current.RewritePath("~/Pages/Default.aspx");
// return some HTTP handler here
return new DefaultHttpHandler();
}}这对我来说似乎没什么问题。
发布于 2009-01-06 17:04:43
我被要求将此作为Share Point评估过程的一部分。
我的理解是,uri模板本质上是主机名,后跟递归文件夹结构。
通过Share Point将uri截断为255个字符,这将进一步复杂化。因此,如果您有一个特别深或冗长的文件夹结构,那么您的uri可能会变得无效。
我正在考虑通过遵循人类可读的约定并转换为Share Point约定来本质上美化/整理uri。即:
http://myhostname.com/docs/human-resources/case-files/2009/reviews/ed-blackburn.docx
转换为共享点:
http://myhostname.com/human%20resources/case%20files/2009/reviews/ed%20blackburn.docx
任何其他所需的服务都可以由控制器控制。
如果超过255个字符,我最初的建议是使用某种tinyurl方法。
发布于 2008-09-24 15:31:29
它应该和下面的一样简单。
var route = new Route("blah/{*path}", new MyRouteHandler());
RouteTable.Routes.Add(route);
public class MyRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
// return some HTTP handler here
}
}然后在web.config中的HTTP模块下注册System.Web.Routing.UrlRoutingModule,就可以了。
<add name="Routing" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>https://stackoverflow.com/questions/122175
复制相似问题