我有一个应用程序自托管OWIN应用程序,我想从所有响应中删除Server标头("Microsoft-HTTPAPI/2.0").在Google上搜索时,它看起来非常简单,例如MSDN上的这篇博文显示了一个看起来非常简单的解决方案.我按照说明操作:
结果非常令人失望,没有任何改变,我仍然得到Server头.令我感到困惑的是,所有解决方案都完全相同,对他们来说似乎有效.还有什么需要做的才能从自托管的OWIN应用程序中删除Server标头吗?
更新 我尝试自己添加一个服务器头,它实际上工作,但它仍然添加了Microsoft-HTTPAPI/2.0.
将此代码添加为DelegatingHandler:
HttpResponseMessage response = await base.SendAsync(request, cancellationToken);
response.Headers.Server.Add(new ProductInfoHeaderValue("Foo", "1.0"));
Run Code Online (Sandbox Code Playgroud)
生成此服务器标头:服务器:Foo/1.0 Microsoft-HTTPAPI/2.0
我想限制用户使用任何enumvalue.如果用户尝试分配两个以上的值,我必须抛出一个错误.
public enum Fruits
{
Apple,
Orange,
Grapes
}
public Fruits Fruits
{
get
{
return m_fruits;
}
set
{
m_fruits=value;
}
}
Fruits = Fruits.Apple & Fruits.Grapes; //I need to avoid such type of assignment
Run Code Online (Sandbox Code Playgroud)
任何人都可以说如何检查这种类型的验证.
谢谢,Lokesh
我如何更改以下代码以使其编译?(除铸造/更改strings到List<object>).
Action<IList<object>> DoSomething = (list) => { /*list is never modified*/ };
var strings = new List<string>() { "one", "two" };
DoSomething(strings);
Run Code Online (Sandbox Code Playgroud) 已安装 Windows Server 2012 R2、IIS 8.5、.NET 4.8(通过注册表验证,请参见屏幕截图)。
在我的 Windows 10 计算机上,我看到从“打开或关闭 Windows 功能”对话框中选择 ASP.NET 4.8 功能的选项。但是,在 Windows 2012 R2 上的“添加服务器角色”向导中,我只看到列出了 ASP.NET 4.5 选项。请参阅屏幕截图进行比较。
我的问题:Windows Server 2012 R2 仅显示 ASP.NET 4.5 选项是否正常?即使安装了更高版本的.NET Framework(例如4.8)?
.net ×2
c# ×2
.net-4.8 ×1
asp.net ×1
c#-5.0 ×1
covariance ×1
http-headers ×1
iis ×1
owin ×1
self-hosting ×1