improve broken link handling
This commit is contained in:
@ -68,6 +68,7 @@ namespace Oqtane.Repository
|
|||||||
public UrlMapping GetUrlMapping(int siteId, string url)
|
public UrlMapping GetUrlMapping(int siteId, string url)
|
||||||
{
|
{
|
||||||
using var db = _dbContextFactory.CreateDbContext();
|
using var db = _dbContextFactory.CreateDbContext();
|
||||||
|
url = (url.StartsWith("/")) ? url.Substring(1) : url;
|
||||||
url = (url.Length > 750) ? url.Substring(0, 750) : url;
|
url = (url.Length > 750) ? url.Substring(0, 750) : url;
|
||||||
var urlMapping = db.UrlMapping.Where(item => item.SiteId == siteId && item.Url == url).FirstOrDefault();
|
var urlMapping = db.UrlMapping.Where(item => item.SiteId == siteId && item.Url == url).FirstOrDefault();
|
||||||
if (urlMapping == null)
|
if (urlMapping == null)
|
||||||
@ -82,7 +83,14 @@ namespace Oqtane.Repository
|
|||||||
urlMapping.Requests = 1;
|
urlMapping.Requests = 1;
|
||||||
urlMapping.CreatedOn = DateTime.UtcNow;
|
urlMapping.CreatedOn = DateTime.UtcNow;
|
||||||
urlMapping.RequestedOn = DateTime.UtcNow;
|
urlMapping.RequestedOn = DateTime.UtcNow;
|
||||||
urlMapping = AddUrlMapping(urlMapping);
|
try
|
||||||
|
{
|
||||||
|
urlMapping = AddUrlMapping(urlMapping);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// ignore duplicate key exception which can be caused by a race condition
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user