用点(。)字符的URL错误字符、错误、URL

2023-09-06 10:54:05 作者:只你共我

我有一个问题,当我点击编辑用户提供的网址,一个 ASP.NET MVC 3 的项目:      http://domain.com:8089/User/EditUser/username.surname?IDUser=e11a621p-df11-4687-9903-8bfc33c922cf

I having a issue when i click to edit a user with this url in a ASP.NET MVC 3 project: http://domain.com:8089/User/EditUser/username.surname?IDUser=e11a621p-df11-4687-9903-8bfc33c922cf

如果我得到没有其他用户'。字符,它工作正常。

If i get another user without the '.' character, it works fine.

错误:

HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.

我尝试了一些技巧,我在这里找到,如:

I tried some tips that i find here, like:

  <system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>

 <system.web>  
<httpRuntime relaxedUrlToFileSystemMapping="true" />

和对edituser操作该属性:

and this attribute on the edituser action:

   [ValidateInput(false)]

但似乎没有任何工作。该网站托管在IIS服务器上,当它在Windows Azure上的网站,它是按预期工作。

But nothing seems to work. This site is hosted on a IIS server, when it was on Windows Azure WebSite, it was working as expected.

感谢。

推荐答案

在有些头疼,我再次发布到的Azure网站已,它正常工作,具有相同的网络。我是用当地的环境配置文件。因此,解决方案必须在 IIS ,再没有更多的尝试后,我改变了应用程序池默认应用程序池和猜测什么,它的工作。

After some headache, i publish it to Azure WebSites again and it works normally, with same web.config file that i was using in local enviroment. So the solution must be on the IIS, then after no more tries, i change the Application Pool to Default App Pool and guess what, it worked.