2009-06-12 34 views
39

在我們的ASP.NET MVC應用程序,我們已經注意到,我們不能有禁DOS文件名— COM1通過COM9LPT1通過LPT9CONAUXPRN,和NUL —我們的路線中的任何地方。它們不可避免地導致IIS告訴我們文件無法找到,即使我們設置路由時不首先檢查文件的存在。我們如何解決這個問題?ASP.NET MVC路由與保留的文件名在Windows

+11

爲了好玩,打http://stackoverflow.com/com1並比較http://stackoverflow.com/ThisDoesNotExist – kamens 2009-06-12 15:09:30

+0

有趣的是,stackoverflow.com/clock$工作正常,即使CLOCK $是一個保留的設備文件名爲好。 – 2009-06-12 15:30:04

+12

並利用這些知識,我現在已經成功地無法導航到我的用戶頁面。活泉。 – 2009-06-12 16:49:22

回答

18

由於提出這個問題,我發現這個錯誤是在ASP.NET本身,而不是IIS或ASP.NET MVC,這意味着沒有辦法解決它。唯一的解決方法是手動禁止匹配這些名稱和這些名稱的URL,後跟一個句點和隨機字符。