如何使用来自客户端 C# Winforms 的 asmx 服务 (BL) 的类函数

Posted

技术标签:

【中文标题】如何使用来自客户端 C# Winforms 的 asmx 服务 (BL) 的类函数【英文标题】:How to use class function from asmx Service (BL) from Client C# Winforms 【发布时间】:2018-08-18 23:48:32 【问题描述】:

我在 Bl 服务和 Winform 客户端的解决方案中有不同的项目。

在 Bl 项目中,我添加了一个带有功能的用户类。 我设法从客户端找到了课程,但我没有得到这个功能。以及带有参数的构造函数。

this is the BL

该服务作为 Web 引用添加到客户端项目中 这就是我得到的:

i can see the class properties but not the functions.

这是类:

public class User

    public string FirstName;
    public string LastName;
    public string Email;
    public string PhoneNumber;
    public string PassWord;
    public string UserName;
    public User(string fn, string ln, string un, string pn, string em, string pw)
    
        FirstName = fn;
        LastName = fn;
        Email = em;
        PhoneNumber = pn;
        PassWord = pw;
        UserName = un;
    
    public User()
    
        //
    
    public void setData(string fn, string ln, string un, string pn, string em, string pw)
    
        FirstName = fn;
        LastName = fn;
        Email = em;
        PhoneNumber = pn;
        PassWord = pw;
        UserName = un;
    


这就是我最终想要做的事情:

[WebMethod]
    public DataSet RegisterNewUser(User usr)
    
        return getDal.RegisterNewUser(usr.UserName, usr.FirstName, usr.LastName, usr.PassWord, usr.Email, usr.PhoneNumber);
    

向 RegisterNewUser 发送用户类

我在这里没有找到任何关于这个问题的答案

【问题讨论】:

【参考方案1】:

Web 服务无法序列化代码,因此您的类中的方法对客户端代理不可用(并且如果您在私有方法中有代码,它将不会执行)。通过此方法序列化的对象只是数据传输对象 - 哑属性。

【讨论】:

感谢您的快速回复,学到了新东西:)

以上是关于如何使用来自客户端 C# Winforms 的 asmx 服务 (BL) 的类函数的主要内容,如果未能解决你的问题,请参考以下文章

c# GDI和winforms中的径向渐变画笔效果

WinForms:使用 c# 添加控件

来自 AForge FFMPEG 的图片框为空 - C#/WinForms

C# WinForms ComboBox:AutoComplete 不按降序排序

如何使用c#在winforms中为每个用户授予权限

如何在 C# WinForms 中使用 LINQ 从 DataGridView 中选择多个字段