Вы можете проанализировать строку запроса, используя com.mongodb.BasicDBObject#parse(java.lang.String)
, чтобы получить свой запрос к DBObject
. Затем вы можете создать свой запрос, используя AdvancedDatastore#createQuery(Class<T>, com.mongodb.DBObject)
, после чего у вас будет «нормальный» Query
, который вы можете выполнить, как и любой другой Query
. Ссылка Datastore
, которая у вас лежит, это -a AdvancedDatastore
, поэтому вам нужно только привести эту ссылку, чтобы иметь доступ к этому методу.
В моей дорожной карте изложено гораздо более понятное в 2.0, но я яростно заканчиваю разработку 1.5, чтобы сосредоточиться на 2.0.
Вы могли создать WebRequest и отправить его, чтобы портировать 80 на петлевом IP-адресе и получить HTTP-заголовок Сервера.
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create("http://127.0.0.1/");
HttpWebResponse myHttpWebResponse = null;
try
{
myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
}
catch (WebException ex)
{
myHttpWebResponse = (HttpWebResponse)ex.Response;
}
string WebServer = myHttpWebResponse.Headers["Server"];
myHttpWebResponse.Close();
Не уверенный, если это - лучший способ сделать его, но это - конечно, другая опция.
Для идентификации версии снаружи процесса IIS одна возможность похожа ниже...
string w3wpPath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.System),
@"inetsrv\w3wp.exe");
FileVersionInfo versionInfo = FileVersionInfo.GetVersionInfo(w3wpPath);
Console.WriteLine(versionInfo.FileMajorPart);
Определить его из рабочего процесса во времени выполнения...
using (Process process = Process.GetCurrentProcess())
{
using (ProcessModule mainModule = process.MainModule)
{
// main module would be w3wp
int version = mainModule.FileVersionInfo.FileMajorPart
}
}