为支持旧版客户端,我们在Windows Server 2012 R2 IIS 8.5.9600.16384的ASP.Net应用程序中提供了代码,这些代码仅会发送回“ True”或“ False”(不带引号):
public partial class Authenticate : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Form["Login"] == "true")
{
var result = Membership.ValidateUser(Request.Form["Username"], Request.Form["Password"]);
if (result)
{
FormsAuthentication.SetAuthCookie(Request.Form["Username"], false);
}
Response.Write(result);
Response.End();
}
}
}
我们安装了带有IIS 10.0.14393.0的新Windows Server 2016,现在它正在发回包装在html标记中的值:
"<html><body><p>True</p></body></html>"
为什么?在我的开发箱或较旧的Win 2012 R2服务器上不执行此操作。我找不到有关此的任何信息-我们无法更改所有客户端,如何确保此网页在Win 2016 IIS 10.0.14393.0上仅返回“ True”或“ False”?
答案 0 :(得分:0)
使其正常工作,将ContentType作为文本/纯文本添加到这样的标题中:
const