2008-11-27 52 views
0

我们使用C#,ASP.NET & WCF。我正在尝试将表单数据发送到Web服务,该服务依次使用表单中的数据插入/更新数据库。我应该如何发送我的数据?WCF:将表单数据发送到Web服务的最佳实践?

我们的表单填充得很好,但在将更新发送回Web服务时遇到了一些问题。我们已经确定在这种情况下使用数据集并不是很好的做法,它很慢,我们必须为我们的喜好做太多的SELECT *。

我有大约15个需要穿过的领域。一个团队成员想要通过所有参数,我认为这是最优的。我们尝试在Object []数组中发送所有内容,但接收到奇怪的错误“数据协定名为'DBNull:http ...'的类型'System.DBNull'不是预期的。已知类型“,

欢迎任何建议。

回答

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服务,并有从我们的服务类(在本例中未显示)继承的类,所以我们让Visual Studio中做接触到我们的表单所有这些工作都在建立WCF服务,因为我们通过易于使用和维护的Web服务获得好处。