Ubuntu上带Mono的ASP.NET Web服务中的HTTP请求验证异常
首先,我对Linux操作系统和Mono也是完全陌生的 我已经采取了以下帖子中的所有步骤,在Linux Ubuntu上使用Mono运行我的Web API服务: 现在我可以从Ubuntu上带Mono的ASP.NET Web服务中的HTTP请求验证异常,asp.net,mono,ubuntu-14.04,fastcgi-mono-server,Asp.net,Mono,Ubuntu 14.04,Fastcgi Mono Server,首先,我对Linux操作系统和Mono也是完全陌生的 我已经采取了以下帖子中的所有步骤,在Linux Ubuntu上使用Mono运行我的Web API服务: 现在我可以从localhost:5757在Ubuntu上运行我的Web服务,但是当我执行一个方法时,我得到System.Web.HttpRequestValidationException: A potentially dangerous Request.QueryString value was detected from the cl
localhost:5757
在Ubuntu上运行我的Web服务,但是当我执行一个方法时,我得到System.Web.HttpRequestValidationException
:
A potentially dangerous Request.QueryString value was detected from the client
这是我的测试方法:
[WebMethod]
public string Test(string strXML)
{
string strMessage = "";
XmlDocument xdoc = new XmlDocument();
try
{
xdoc.LoadXml(strXML);
XmlNode xContent = xdoc.GetElementsByTagName("content")[0];
strMessage = xContent.InnerText;
}
catch (Exception ex)
{
csGlobal.ErrorLog(ex.Message + " " + ex.StackTrace);
}
return strMessage;
}
这是我要测试的输入XML消息:
<data><content>some content</content></data>
一些内容
它在IIS和Windows中工作得非常完美。但是我怎样才能在Linux上使用Mono呢
更新:
.NET版本是3.5,我在web.config文件中添加了
,但仍然得到相同的错误
您建议我怎么做?将Web API的.Net Framework版本更改为
4.0
,并在Web.config
中包含以下内容:
<httpRuntime requestValidationMode="2.0"/>
这应该会有所帮助。但是请注意,在这种情况下,您的API对于外部攻击的保护和稳定性会降低