Frage

Ich versuche, eine einfache Website zu schreiben (ASP.NET v4), die Windows Search rufen, eine bestimmte Datei finden und schicken Sie es an den Benutzer. Ich habe zusammen die folgenden als Beispiel gesagt: es ruft den Windows-Suchdienst auf „Entfernter_Server“ und gibt den Weg der „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();

.. und dies funktioniert auf Visual Studio 2010-Entwicklungsumgebung, „Ergebnis“ enthält den Pfad zur Datei. Allerdings, wenn ich es auf den lokalen IIS7 Server bereitstellen (läuft auf Server 2008), habe ich diesen Fehler:

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.

Ich bin ratlos, wo als nächstes gehen. Was muss ich IIS7, oder der Code tun, oder beide es funktioniert? Auch innerhalb VS2010 funktioniert dies in Ordnung (getestet auf Windows 7 und Windows 2008 Server).

War es hilfreich?

Lösung

Ich denke, Sie auf Vista oder ältere OS ausgeführt werden und der IIS läuft auf 2008 Server oder höher? Versuchen Sie Provider=Search.CollatorDSO.1 (beachten Sie die 0,1 ).

Bearbeiten : Sie sollten ein anderes Benutzerkonto für die Suche nach Arbeit verwenden (nicht der Standard „Netzwerkdienst“ eine der asp.net App läuft unter). Siehe die Kommentare für weitere Informationen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top