在我的事件日志中,我有一个警告出现:
事件Xml:日志名称:Application
来源:ASP。净4.0.30319.0
日期:10/24/2011 11:14:18 PM
事件ID: 1309
任务类别:Web事件
水平 : 警告
关键词:经典
用户 : N/描述:
事件代码:3005
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ASP.NET 4.0.30319.0" />
<EventID Qualifiers="32768">1309</EventID>
<Level>3</Level>
<Task>3</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2011-10-25T03:14:18.000000000Z" />
<EventRecordID>18706</EventRecordID>
<Channel>Application</Channel>
<Security />
</System>
<EventData>
<Data>3005</Data>
<Data>An unhandled exception has occurred.</Data>
<Data>10/24/2011 11:14:18 PM</Data>
<Data>10/25/2011 3:14:18 AM</Data>
<Data>6076bff060b440559ee331b549fac246</Data>
<Data>1629</Data>
<Data>322</Data>
<Data>0</Data>
<Data>/LM/W3SVC/1/ROOT-1-129637748517321437</Data>
<Data>Full</Data>
<Data>/</Data>
<Data>C:inetpubwwwroot</Data>
<Data></Data>
<Data>168</Data>
<Data>w3wp.exe</Data>
<Data>IIS APPPOOLDefaultAppPool</Data>
<Data>HttpException</Data>
<Data>
A potentially dangerous Request.Path value was detected from the client (:).
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
</Data>
<Data>
</Data>
<Data>False</Data>
<Data>
</Data>
<Data>IIS APPPOOLDefaultAppPool</Data>
<Data>555</Data>
<Data>IIS APPPOOLDefaultAppPool</Data>
<Data>False</Data>
<Data>
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
</Data>
</EventData>
</Event>
我的用户正在从网络外访问RD Web页面。我没有收到访问页面或启动应用程序失败的报告,我已经测试了它。我注意到的唯一一件事是,您需要多次启动应用程序才能使其运行。
为了访问RD网站,用户输入https://rdwebpage.com
他们看到一个带有登录框的网页。用户登录web页面他们看到发布的应用程序,用户点击应用程序,启动RDP登录,用户登录,看起来一切正常,但应用程序没有启动。用户再次点击应用程序,遵循相同的步骤,应用程序打开没有问题。
看起来原因是传递的是url而不是预期的"https://rdwebpage.com"
我看到:"http://rdwebpage.com/https:/rdwebpage.com/RDWeb/Pages/en-US/default.aspx "
如果你看那个网页的结果是:在执行当前web请求期间生成了一个未处理的异常。关于起源和地点的信息可以使用下面的异常堆栈跟踪来识别异常。
Stack Trace:
[HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (:).]
System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +11481611
System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +184
Version Information:
Microsoft .NET Framework Version:4.0.30319;
ASP.NET Version:4.0.30319.237
任何想法都是有帮助的,我在网上看到的大多数都是传递字符,但这不是问题。我不确定url是从哪里来的
听起来好像在系统的某个地方有一个不正确编码的URL。这可能发生在带有浏览器无法理解的链接的网页上。
例如,如果你在这个页面上有一个这样的链接
<a href="stackoverflow.com>Stack Overflow</a>
浏览器实际上会链接到http://stackoverflow.com/questions/7911435/stackoverflow.com
。
使用你的http://rdwebpage.com/https:/rdwebpage.com/RDWeb/Pages/en-US/default.aspx
,看起来你可能会错过第二个/在原始协议之后。
确保登录页面上的链接指向https://rdwebpage...
而不是https:/rdwebpage...