Для пользователей Java вы можете использовать это в наборе данных:
public boolean isDatasetEmpty(Dataset<Row> ds) {
boolean isEmpty;
try {
isEmpty = ((Row[]) ds.head(1)).length == 0;
} catch (Exception e) {
return true;
}
return isEmpty;
}
Это проверяет все возможные сценарии (пустые, нулевые).
Можно получить эту информацию от SERVER_SOFTWARE
переменная. Это возвратит следующее:
Microsoft-IIS/5.0 (Windows 2000)
Microsoft-IIS/5.1 (Windows XP)
Microsoft-IIS/6.0 (Windows 2003 Server)
и т.д.
при использовании ASP.NET можно получить эту строку через [1 111]
Request.ServerVariables["SERVER_SOFTWARE"];
РЕДАКТИРОВАНИЕ: кажется, что необходимо будет запросить реестр для получения этой информации. Смотрите на эта страница , чтобы видеть как.
Это - то, как я делаю это.
FileVersionInfo verinfo = FileVersionInfo.GetVersionInfo(System.Environment.SystemDirectory + @"\inetsrv\inetinfo.exe");
//Tip... look at verinfo.MajorVersion.
U может найти его в реестре.
До версии 6 IIS можно найти его здесь:
HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
Начиная с версии 7 здесь:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
MajorVersion MinorVersion
Это обычно представляется в http заголовке ответа, как я знаю.
Используйте Систему. Сеть. HttpRequest. ServerVariables ("SERVER_SOFTWARE"). Возвращаемое значение является строкой на имя/версию формата.
Проверьте заголовок X-Powered-By: http://www.http-stats.com/X-Powered-By
Там можно найти возможно значения...
Я бы просто проверил версию ОС: xp имеет IIS 5.1, Server 2003 - IIS 6, а vista / Server 2008 - IIS 7.
Ответ нашел здесь: текст ссылки Метод fileVersion не работает в Windows 2008, я думаю, inetserv exe находится где-то еще.
public Version GetIisVersion()
{
using (RegistryKey componentsKey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\InetStp", false))
{
if (componentsKey != null)
{
int majorVersion = (int)componentsKey.GetValue("MajorVersion", -1);
int minorVersion = (int)componentsKey.GetValue("MinorVersion", -1);
if (majorVersion != -1 && minorVersion != -1)
{
return new Version(majorVersion, minorVersion);
}
}
return new Version(0, 0);
}
}
Я тестировал его, он отлично работает в Windows XP, 7 и 2008