我正在從vbscript升級到ASP.NET MVC的項目。它使用Microsoft Index Server在Windows Server 2003機器上對Word和PDF文件編制索引。它只是使用連接字符串打開一個OleDbConnection,如「Provider = \」MSIDXS \「; Data Source = \」docSearch \「;」。經過研究,我瞭解到索引服務器已經過時(「注意索引服務在Windows XP中已經過時,而是使用Windows搜索。」 - http://msdn.microsoft.com/en-us/library/ms690580),而Windows Search是後續產品。
因此,在我的新MVC應用程序中,我嘗試使用OleDbConnection來連接像「Provider = Search.CollatorDSO; Extended Properties = \」Application = Windows \「」這樣的連接字符串。訪問Windows搜索索引使用ASP.NET MVC
我有一個發生在一個格式化的查詢和執行搜索的方法 - 在這裏是被使用的OleDb執行查詢:
string.Format("SELECT System.FileName FROM SystemIndex WHERE CONTAINS('{0}')", query)
現在,當我把我的方法在測試類,它的工作原理罰款(即返回結果... myDataReader.HasRows是真的)。但是,當我從我的MVC控制器調用相同的方法時,它不返回結果 - myDataReader.HasRows爲false - 使用相同的查詢。我的猜測是關於權限和IIS無法訪問索引。我怎樣才能讓IIS訪問索引?如何將索引公開到ASP.NET網頁?如果索引服務器已過時,並且Windows Search不支持此功能,我應該使用什麼?
***模擬***使用**管理員帳戶**?不是***網絡服務***或*** ASP.NET帳戶***(你有沒有試過)? – Kiquenet 2016-06-20 09:05:39