2012-12-28 7 views
5

VS2010でWebサービスを作成し、3.5 Framework Web Serviceプロジェクトとして実行しようとしています。VS2010 FrameworkのWebサービスのメソッドローカルに実行されたときに3.5が表示されない

私はそこにデフォルトのHello Worldメソッドを持っていますが、私が追加したものもあります。私が追加したものはデータプロバイダクラスへの呼び出しを持ち、データプロバイダクラスはデータセットに接続します。しかし、私がローカルで走っているときは、私の新しい方法ではなく、Hello Worldメソッドしか見ることができません。私はその後、hello worldメソッドを削除して再実行し、私はまだそれを見ます。

これをローカルで実行するには何が必要ですか?それをステージングサーバーと運用サーバーで実行するのと同じプロセスですか?

私は、1.1でサービスを作成するのに慣れています。これは私が3.5で作成した最初のものです。

+3

更新サービス参照を試しましたか? –

+0

サービスをどのように作成しましたか?それはWCFサービスですか、それともASMXですか? –

答えて

5

「これは表示されません」とすると、WebサービスWebサイトを実行し、.asmxページに移動すると、その方法が利用可能なサービス呼び出しの一覧に表示されないこのスクリーンショット:

enter image description here

あなたが何を意味するかだ ....

あなただけの関数定義の前に[WebMethod()]宣言が欠落しているいずれかのほとんどのIF、メソッドがpublicとして宣言されていません。

例:あなたは、ローカルのWebサービスプロジェクトを実行するときに

[WebMethod()] 
public string GetName(int EmployeeNumber) 
{ 
    // some code to get name from emplyee # 
    return ReturnValue; 
} 

表示されるはずです。

どちらもこれらのでしょう:

public string GetName(int EmployeeNumber) 
{ 
    // some code to get name from employee # 
    return ReturnValue; 
} 

または

[WebMethod()] 
private string GetName(int EmployeeNumber) 
{ 
    // some code to get name from employee # 
    return ReturnValue; 
} 

さらに、私は、あなたがHelloWorldのメソッドを削除すると、あなたの方法を参照してください理由、理由を推測していますメソッドだけを削除して、[WebMethod()]宣言を残しているということです。これにより、コードが変更され、[WebMethod()]宣言が関数に適用されます。これはおそらく、宣言の後の最初の関数です。

+0

「表示しない」とは、何か他のことを意味する場合はお知らせください。この回答を削除または変更します。 – David

0

関数が静的であると宣言されているかどうかを確認しますか? そうでも[WebMethod属性()]以下の状況では動作しません。

[WebMethod()] 
public static string GetName(int EmployeeNumber) 
{ 
// some code to get name from employee # 
return ReturnValue; 
} 

静的取り外し、それが動作します!

関連する問題