Мне нужно было сделать похожую вещь, но я решил не использовать расширенный цикл for, чтобы сделать это.
int s = type.size();
for (int i = 0; i < s; i++) {
for (int j = 0; j < t.size(); j++) {
if (condition) {
// do stuff after which you want
// to completely break out of both loops
s = 0; // enables the _main_ loop to terminate
break;
}
}
}
В IIS7 вы должны использовать модуль HTTP. Создайте следующее как библиотеку классов в VS:
namespace StrongNamespace.HttpModules
{
public class CustomHeaderModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += OnPreSendRequestHeaders;
}
public void Dispose() { }
void OnPreSendRequestHeaders(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Set("Server", "Box of Bolts");
}
}
}
Затем добавьте следующее в свой web.config или настройте его в IIS (если вы настраиваете в IIS, сборка должна находиться в GAC).
<configuration>
<system.webServer>
<modules>
<add name="CustomHeaderModule"
type="StrongNamespace.HttpModules.CustomHeaderModule" />
</modules>
</system.webServer>
</configuration>
UrlScan также может удалить заголовок сервера, используя AlternateServerName =
в [параметры]
.
Попробуйте установить для записи реестра HKLM \ SYSTEM \ CurrentControlSet \ Services \ HTTP \ Parameters \ DisableServerHeader
значение REG_DWORD
из ] 1
.