我想在我的asp.net应用程序中使用简短的beaty链接进行referal注册。类似于http://MySite.ru/xbsdakj。我如何实现这个东西?在asp.net中的短链接
回答
如果你不使用MVC .NET和使用Web表单,你将不得不执行URL重写。请参考http://msdn.microsoft.com/en-us/library/ms972974.aspx
并不完全是一个完整的道理 - 路线确实在3.5+ – 2011-06-10 08:52:59
中可用,您应该将其作为答案发布。 – Tsar 2011-06-10 09:01:03
完成 - 但没有测试过对不起。 – 2011-06-10 13:34:29
你瞄准哪个ASP.net的版本提供这个的吗?
版本3.5及以上的,你可以利用低于路由(即使有web表单),你不能:)
假设你可以使用的路线,你可以在全球ASAX以下...
protected void Application_Start(object sender,EventArgs e){RegisterRoutes(RouteTable.Routes); }
public static void RegisterRoutes(RouteCollection routes){routes.Add(new Route(“/ {hash}”,new HashRouteHandler())); }
其中HashRouteHandler就像是在这里
using System.Web.Compilation;
using System.Web.UI;
using System.Web;
using System.Web.Routing;
public class HashRouteHandler: IRouteHandler
{
public CustomRouteHandler(string virtualPath)
{
this.VirtualPath = virtualPath;
}
public string VirtualPath { get; private set; }
public IHttpHandler GetHttpHandler(RequestContext
requestContext)
{
// Lookup URL from hash, e.g. mysite.ru/categories/signup?someinfo=jimmy%20dean
string querystring = LookupBasedOnHash(requestContext.RouteData.Values["hash"]);
HttpContext.Current.RewritePath(
string.Concat(
VirtualPath,
queryString));
var page = BuildManager.CreateInstanceFromVirtualPath
(querystring , typeof(Page)) as IHttpHandler;
return page;
}
答案中描述的处理程序}
前提
1)建立一个公共的API密钥。如果你不知道如何阅读这个。 Google Developer Console Create Public API Key 2)在Visual Studio中创建一个新项目并安装以下NuGet包。 Install-Package Google.Apis.Urlshortener.v1
Google URL shortener API是一个公共API,这意味着我们不需要担心身份验证,我们可以使用公共API密钥直接访问它。
UrlshortenerService service = new UrlshortenerService(new BaseClientService.Initializer()
{
ApiKey = "API KEY from Google developer console",
ApplicationName = "Daimto URL shortener Sample",
});
我们现在有一个我们可以用来访问api的URLshortenerService。 缩短的URL
缩短使用谷歌URL缩短的URL是相当两岸正向我们所说的插入方法。这将为我们创建一个新的缩短的网址。缩短的网址可以在Id属性中找到。
public static string shortenIt(string url)
{
UrlshortenerService service = new UrlshortenerService(new BaseClientService.Initializer()
{
ApiKey = "API KEY from Google developer console",
ApplicationName = "Daimto URL shortener Sample",
});
var m = new Google.Apis.Urlshortener.v1.Data.Url();
m.LongUrl = url;
return service.Url.Insert(m).Execute().Id;
}
- 1. 短链接SDK iOs
- 2. 缩短的链接导航
- 3. 禁用WordPress的短链接
- 4. MS Access中的超链接太短
- 5. AsP.net中的推介链接!
- 6. ASP.NET中的永久链接
- 7. asp.net中的链接按钮?
- 8. 链接R包装短片
- 9. 为何引入短链接?
- 10. 在asp.net中的下载链接mvc
- 11. 在ASP.NET中链接绑定的DropDownLists
- 12. 在ASP.NET中缓存链接的页面
- 13. 从短代码中删除超链接
- 14. ASP.NET:在html超链接中转换纯超链接
- 15. 隐藏在asp.net链接
- 16. 在ASP.NET MVC中生成链接?
- 17. 如何在gridview(asp.net)中添加链接?
- 18. 在ASP.NET中链接两个表单
- 19. href链接在Asp.Net中不起作用
- 20. 在asp.net 4.0中实现永久链接
- 21. 超链接或在DevExpress上的PivotGridField上的链接 - ASP.NET与C#
- 22. 使用htaccess的,使短链接
- 23. 使用的.htaccess缩短链接
- 24. ios中的Firebase动态短链接返回null但长动态链接作品
- 25. 在asp.net mvc项目中路由遗留的asp.net链接
- 26. ASP.net添加链接
- 27. ASP.net改变链接
- 28. 图像+链接作为在asp.net gridview的
- 29. 链接安全性在asp.net mvc的
- 30. 链接到MVC 5中的文件ASP.NET
什么是推荐注册 - ASP.NET的会员提供商的东西的一部分(即,你想帮助挖掘)或只是你自己的代码?你有一个域和一个允许自定义域的URL shortener服务(例如[bit.ly pro](http://bit.ly/pro/products) - 我敢肯定还有很多其他的)? – Rup 2011-06-10 08:44:27