2011-08-03 12 views
0

.NET WebServiceを作成しました。そこに私は次のWebメソッドを実装しました:カスタムオブジェクトを.NET WebService WebMethodとしてパラメータ

[WebMethod] 
public string CheckLicense(License license) { 
    return ""; 
} 

タイプライセンスは、私がWebServiceを参照している別のアセンブリXから来ています。

private void CheckLicense(License license) { 
     using(var service = new Prayon.Service.Web.PrayonService()) { 
      service.CheckLicense(license); 
     } 
    } 

:ライセンスのFulltype今すぐPrayon.Shared.Library.Licensing.License

ですが、私は私がCheckLincenseでWebサービスを呼び出すために何をしようとするときも、アセンブリXを参照していないクライアントを構築していservice.CheckLicense()には、Prayon.Service.Prayon.Service.Web.Licenseのオブジェクトが必要です。 私は何が間違っているのか分かりません。私は何をしなければならない、タイプPrayon.Shared.Library.Licensing.Licenseのオブジェクトを渡すことができることをサービスする.CheckLicense()?あなたは、インスタンスを作成する必要が

答えて

0

ライセンスオブジェクトでメソッドを使用する場合は、次の操作を行う必要があります。 WebServiceを呼び出し、service.Licenseオブジェクトを取得し、それを使用してローカルライセンスオブジェクトのインスタンスを作成した後、 WebServiceアンサーで満たされた状態(プロパティ)の「ローカル」ライセンスオブジェクト。 それ以外の場合は、「ローカル」ライセンスオブジェクトを使用する理由がわかりません。

0

あなたは、あなたのWebサービスとクライアントの間でアセンブリを共有するが、代わりにWebサービスプロキシタイプから、ライセンスのインスタンスを作成しないでください(service.xに見つかるはずです)

0

asemblyからではなくwebserviceproxyから。 クライアントからWebserviceへのサービス参照を追加すると、プロキシクラスが生成されます。これらの中で、ライセンスが定義されます。インスタンスを作成し、アセンブリから直接参照するのではなく、渡します。

+0

@ John and mmorel - オブジェクト型のパラメータを持つWebMethodを定義してから、自分のライセンスをWebServiceに渡し、そこからライセンスからオブジェクトをunboxすることは可能でしょうか? – BennoDual

+0

@ t-kehl。なぜあなたはライセンス自体を渡すことができるので、それをしたいのですか?オブジェクトを受け入れてからそれをキャストするのに苦労する –

関連する問題