2012-03-17 14 views
0

wcfサービスからプロキシを更新する際に問題があります.1つのoperationcontractと1つのdatacontractとのインターフェイスがあり、新しいoperationcontractを1つ追加するまではすべて動作しています...サービスを更新しようとするとクライアントアプリケーションで生成されたプロキシは新しいオペレーションコントラクトがありません。私はsvcutilを使用しようとしましたが、成功しなかった場合、同じ結果になりました。 何が悪いと思いますか?WCFはプロキシを更新しません

[ServiceContract] 
public interface ICreationService 
{ 
    [OperationContract] bool CreateTicket(Ticket ticket); 
    [OperationContract] bool CreateTicket(Ticket ticket,bool asd); 
    [OperationContract] IEnumerable<Ticket> GetTickets(); 
} 

[DataContract] 
public class Ticket 
{ 
    [DataMember] 
    public string Name { get; set; } 

    [DataMember] 
    public int Severity { get; set; } 

    [DataMember] 
    public string Description { get; set; } 
} 
+1

あなたが追加した新しい契約書とあなたのバインディングも投稿できますか? – Tung

+0

【のServiceContract] \tパブリックインターフェースICreationService \t {\t \t [OperationContract] ブールCreateTicket(チケットチケット)。 [OperationContract] bool CreateTicket(チケットチケット、bool asd); // [OperationContract] IEnumerable GetTickets(); \t} [のDataContract] パブリッククラスチケット {[データメンバー] パブリック文字列名{得ます。セット; } [DataMember] public int Severity {get;セット; } [DataMember] パブリック文字列説明{get;セット; } } – user1275513

+0

人のためにweb.config、更新された契約、ウェブブラウザでサービスを参照するときに表示される例外を表示する必要があります – Tung

答えて

1

WCFでは、同じ名前(オーバーロードなし)のメソッドを複数持つことはできません。

は、インターフェースの代わりにコンクリートの型を返す試し

[OperationContract(Name="CreateTicketNewName")] 
bool CreateTicket(Ticket ticket); 

EDIT:あなたのCreateTicketのいずれかの方法で、または名前がそうのようなあなたの方法に属性を追加することができますの名前を変更する必要があります。これに似たスレッドがありますlink

+0

ありがとう私がそれを削除しても、メソッドIEnumerable GetTickets()はプロキシに反映されません... – user1275513

+0

このインターフェイスはプロキシで生成されます:[System.CodeDom.Compiler.GeneratedCodeAttribute( "System.ServiceModel"、 "4.0.0.0")] [System.ServiceModel.ServiceContractAttribute(ConfigurationName = "ServiceReference2.ICreationService")] パブリックインターフェイスICreationService { [System.ServiceModel.OperationContractAttribute(ACTION = "http://tempuri.org/ICreationService/CreateTicket"、ReplyAction =」 http://tempuri.org/ICreationService/CreateTicketReスポンサー ")] bool CreateTicket(Web.ServiceReference2.Ticketチケット); } ...まだGetTickets()メソッドがありません...考えていますか?私は失われました – user1275513

+0

@ user1275513、GetTickets()がIEnumerableではなく具象クラスを返すように変更しました – Tung

関連する問題