2012-03-12 16 views
2

私はthisチュートリアルに従って、ユーザータイプとしてSQLサーバーから動的検索結果を作成しています。 .asmxファイルを作成するように指示していますが、以前はこれまでと同じような形式ではありません。私は今、.asmxと.asmx.csファイルを持っています。パーサーエラーメッセージ:タイプ 'WebService.asmx.cs'を作成できませんでした

WebService.asmx.cs:

public class SearchService : WebService 
{ 
    [WebMethod] 
    public searchResult[] Search(string txtSearch) 
    { 
//Declare collection of searchResult 
     List resultList = new List(); 
     var db = Database.Open("mPlan"); 
     var result = db.Query("SELECT * from Users where Username like '%" + txtSearch + "%'"); 
     try 
     { 
      foreach(var record in result) 
      { 
       searchResult result = new searchResult(); 
       result.Username = ["Username"].ToString(); 
       resultList.Add(result); 
      } 
      return resultList.ToArray(); 
     } 
     catch 
     { 
      return null; 
     } 
    }} 

WebService.asmx:

<%@ WebService Language="C#" class="WebService" %> 
using System; 
using System.Collections.Generic; 
using System.Web; 
using System.Web.Services; 
using System.Data.SqlClient; 

[System.Web.Script.Services.ScriptService] 
[System.Web.Script.Services.GenerateScriptType(typeof(searchResult))] 
public class searchResult 
{ 
    public string Title; 
    public string img; 
    public string href; 
} 

ここに私のエラーメッセージがあり、誰もがこれで私を助けてくださいすることができますここで私はこれまで持っているコードです。 ?

パーサーエラーメッセージ:タイプを作成できませんでした「WebService.asmx.cs」

それはエラーの発生源としてWebService.asmxの1行目を強調しています。

+0

'class =" WebService.asmx.cs "'はおそらく 'class =" SearchService "' –

+0

になるはずです投稿したコードを編集したのはなぜですか?あなたの質問は今や意味をなさない。 –

+0

@JohnSaunders戻って戻って、私はそれを考えなかった! :) –

答えて

2

正しいクラス名は "SearchService"です。ファイル名を指定しました。

+0

ありがとう、私は今上記の私のコードを編集しました。私はまだ、エラーを取得しています 'SearchService'タイプを作成できませんでした。 –

+0

型の完全修飾名が必要なためです。 –

+0

また、ウェブサイト「プロジェクト」を使用していますか?悪いアイデア。 Webアプリケーションプロジェクトを使用します。 –

4

class="..."は、ファイル名ではなく完全修飾クラス名が必要です。

4

、私のプロジェクトの出力ディレクトリが私のDLLの

一つ\ binがなかったとき、私は、Visual Studio開発サーバーを使用して、このエラーに遭遇しまし異なるプラットフォーム(x86またはx64)のためのバージョンを持っているので、私は構成が対応して作成しますデフォルトでは "bin \ x86 \ Dedug"、 "bin \ x64 \ Debug"のようなディレクトリを出力します。しかし、Visual Studio Development Serverはまだbin \フォルダからバイナリをロードしようとしましたが、もちろん失敗しました。

デバッグ設定でbin \ outputフォルダを指定することで問題を解決しました。

+0

ありがとうございます!私はちょうど(WebServiceHostプロジェクトで)恥ずかしがって長い時間のためにこれを戦った:)。 – Jess

+0

同じ問題がありました...出力は/ x86/binに設定されています。/binに変更するとすぐに修正されました。 – dazedandconfused

関連する問題