.NET WebService WebMethod,自定义对象为Parameter

时间:2011-08-03 07:24:15

标签: c# web-services parameters

我创建了一个.NET WebService。在那里,我实现了以下WebMethod:

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

Type License来自不同的Assembly X,我引用了WebService。许可证的完整类型是Prayon.Shared.Library.Licensing.License

现在,我已经构建了一个也引用Assembly X的客户端。当我尝试不使用CheckLincense调用WebService时:

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

service.CheckLicense()需要Type Prayon.Service.Prayon.Service.Web.License的对象。 我不知道我做错了什么。我该怎么办,我可以将Prayon.Shared.Library.Licensing.License类型的对象传递给service.CheckLicense()?

3 个答案:

答案 0 :(得分:0)

您不应在Web服务和客户端之间共享程序集,而是从Web服务代理类型创建许可证实例(应该在service.x中找到)

答案 1 :(得分:0)

您需要从webserviceproxy而不是从asembly创建实例。 当您从客户端向webserice添加服务引用时,它将为您生成代理类。在这些内容中,您将定义许可证。使用此方法创建实例并传递它而不是直接从程序集引用。

答案 2 :(得分:0)

如果要在许可证对象中使用方法,则需要: 调用您的WebService,获取service.License对象,使用它来创建本地License对象的实例,之后您将获得具有由WebService答案填充的状态(属性)的“本地”许可证对象。 否则我不明白你为什么要使用'本地'许可证对象?

相关问题