コード例 #1
0
        public override SearchResult[] Search(SearchQuery query) {
            List<SearchResult> searchResults = new List<SearchResult>();

            int startOffset = 0;
            MSNSearchService msnSearchService = new MSNSearchService();

            SearchRequest searchRequest = new SearchRequest();
            int arraySize = 1;
            SourceRequest[] sr = new SourceRequest[arraySize];
            sr[0] = new SourceRequest();
            sr[0].Source = SourceType.Web;
            sr[0].Offset = startOffset;

            String searchPrefix = String.IsNullOrEmpty(_siteDomainName) ? "" : "site:" + _siteDomainName + " ";

            searchRequest.Query = searchPrefix + query.Query;
            searchRequest.Requests = sr;
            searchRequest.AppID = _appID;
            searchRequest.CultureInfo = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;

            SearchResponse searchResponse = msnSearchService.Search(searchRequest);

            foreach (SourceResponse sourceResponse in searchResponse.Responses) {
                Result[] sourceResults = sourceResponse.Results;
                foreach (Result sourceResult in sourceResults) {
                    SearchResult searchResult = new SearchResult();

                    if (!String.IsNullOrEmpty(sourceResult.Title))
                        searchResult.Title = sourceResult.Title;

                    if (!String.IsNullOrEmpty(sourceResult.Description))
                        searchResult.Description = sourceResult.Description;

                    if (!String.IsNullOrEmpty(sourceResult.Url))
                        searchResult.Url = sourceResult.Url;

                    searchResults.Add(searchResult);
                }
            }

            return searchResults.ToArray();
        }
コード例 #2
0
 /// <remarks/>
 public void SearchAsync(SearchRequest Request, object userState) {
     if ((this.SearchOperationCompleted == null)) {
         this.SearchOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSearchOperationCompleted);
     }
     this.InvokeAsync("Search", new object[] {
                 Request}, this.SearchOperationCompleted, userState);
 }
コード例 #3
0
 /// <remarks/>
 public void SearchAsync(SearchRequest Request) {
     this.SearchAsync(Request, null);
 }
コード例 #4
0
 public SearchResponse Search(SearchRequest Request) {
     object[] results = this.Invoke("Search", new object[] {
                 Request});
     return ((SearchResponse)(results[0]));
 }
コード例 #5
0
ファイル: Reference.cs プロジェクト: Jiekee/ASP.NET-Mvc-2
 /// <remarks/>
 public void SearchAsync(SearchRequest Request)
 {
     this.SearchAsync(Request, null);
 }