ASP.NET OLEDB код разрывается при развертывании на IIS7 - PullRequest
5 голосов
/ 30 июня 2010

Я пытаюсь написать простой веб-сайт (ASP.NET v4), который будет вызывать Windows Search, найти определенный файл и вернуть его пользователю.В качестве примера я собрал следующее: он вызывает службу поиска Windows на «remoteserver» и возвращает путь «somefile.txt»:

OleDbConnection conn = new OleDbConnection();

conn.ConnectionString = "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';";

OleDbCommand cmd = conn.CreateCommand();


cmd.CommandText = string.Format(
            "SELECT System.ItemPathDisplay, System.ItemType FROM " +
            " sytelhp.systemindex WHERE SCOPE='file://remoteserver/archive' AND CONTAINS(\"System.FileName\", " +
            " '\"*{0}*\"')", "somefile.txt");


conn.Open();

OleDbDataReader rdr = cmd.ExecuteReader();

string result=rdr[0].ToString();

.. и это прекрасно работает на VisualСреда разработки Studio 2010, «результат» содержит путь к файлу.Однако, если я разверну его на локальном сервере IIS7 (запущенном на Server 2008), я получу эту ошибку:

The parameter is incorrect. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.OleDb.OleDbException: The parameter is incorrect.

Я не знаю, куда идти дальше.Что мне нужно сделать с IIS7, или с кодом, или с обоими, чтобы он заработал?Опять же, это прекрасно работает в VS2010 (протестировано как на Windows 7, так и на Windows 2008 Server).

1 Ответ

3 голосов
/ 30 июня 2010

Я полагаю, вы работаете в Vista или более старой ОС, а IIS работает на 2008 Server или новее? Попробуйте Provider=Search.CollatorDSO.1 (обратите внимание на .1 ).

Редактировать : чтобы поиск работал, вы должны использовать другую учетную запись пользователя (а не сетевую службу по умолчанию, под которой работает приложение asp.net). Смотрите комментарии для получения дополнительной информации.

...