我们正在使用C#,ASP.NET& WCF。我正在尝试将表单数据发送到Web服务,而Web服务又使用表单中的数据插入/更新数据库。我该如何发送我的数据?
我们填写的表单很好,但是在将更新发送回Web服务时遇到了一些问题。我们已经确定在这种情况下使用数据集并不是一个很好的做法,它很慢,我们必须根据自己的喜好做太多的SELECT *。
我有大约15个需要经过的领域。一个团队成员希望将所有内容作为我认为不是最佳的参数传递。我们尝试在Object []数组中发送所有内容,但是收到一个奇怪的错误“类型'System.DBNull',数据协定名称'DBNull:http ...'不是预期的。将任何静态未知的类型添加到列表中已知类型“,
欢迎任何建议。
答案 0 :(得分:2)
我们使用WCF使用属性定义数据合约和数据方法。
基本上我们创建一个程序集来定义所有类,另一个程序集来提供WCF连接位
OPur类程序集包含一个服务类和几个消息类。
我们为我们的服务定义一个接口,并使用相关的WCF标记进行标记。这是我们的服务合同。
[ServiceContract]
public interface IExampleWebService
{
[OperationContract]
CreateAccountResponse CreateAccount(int parameter, CreateAccountArguments another parameter);
[OperationContract]
DeleteAccountResponse DeleteAccount(int parameter);
}
我们在类中实现此接口,并创建各种数据协定(我们的响应和参数类)。
[DataContract]
public class CreateAccountResponse
{
[DataMember]
public bool CreatedOk { get; set; }
[DataMember]
public int AccountId { get; set; }
}
使用Web服务将这些类暴露给我们的表单(我们创建另一个程序集作为Web服务,并且有一个继承自我们的Service Class的类(在此示例中未显示),因此我们让Visual Studio完成所有工作设置我们通过易于使用和维护的Web服务获得优势,从而获得了WCF服务。