There is a site on ASP.NET MVC 5. The site have top-level sections - department of finance, department of customers services, etc. There are some entities like News, Materials, Permanent Pages. Currently it uses very simple routing system like :
http://awesomesite.com/en/finance/news
http://awesomesite.com/ch/customer/news?id=213
http://awesomesite.com/ru/archieve/page?id=333
where top-level sections (customer, finance) referenced to controllers and methods respectively. I need to modify this logic : let's say that there will be some breaking news, important materials or permalink pages. In this case it should have an unique URL defined by moderator\admin (dynamic). Example:
http://awesomesite.com/en/iwillbeback - actually it links to ../customer/news?id=21
http://awesomesite.com/en/announcementfromboss => ../archieve/page?id=666
http://awesomesite.com/ru/ourawesomesoftware => ../materials?id=001
Here arise a question. How can it be implemented on ASP.NET MVC? If I got some non-pattern URL, then my system should understand, what controller\method\id it actually links to. And as this pages ,materials , news will be added by non-programmer manager via some simple CMS, they will do something like : add a file -> select a departament -> write URL.
How can I solve this problem? I have an idea to create a table in DB like:
controller method arguments generatedUrl
-------------------------------------------------
finance materials id=211 annualreport2015
I found similar approach here. However, if this site will be used by more than 50 000 users in the same time, will the perfomance be the headache? As I see, each request will invoke some search in DB. What could you suggest?