0

我在一个解决方案中有 2 个项目。一个叫RentalService,一个叫RentalClient。
我正在尝试使用 RentalClient 输入数据(费率,天数),这些数据将发送到 RentalService 进行处理,并通过将费率乘以天数返回价格。

以下是该服务的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

namespace RentalService
{
    [ServiceContract]
    public interface ICalcPrice
    {
        [OperationContract]
        CalcPrice CalculatePrice(double price);
    }
    [DataContract]
    public class CalcPrice
    {
        [DataMember]
        public double Rate {get; set;}
        [DataMember]
        public int Days {get; set;}
        [DataMember]
        public double price {get; set;}
    }
}

这是服务代码:我没有完成它,因为我很难过:/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using RentalClient;

namespace RentalService
{
    public class CalcPrice : ICalcPrice
    {
    public txtRate.text 

    }
}
4

2 回答 2

1

我正在尝试使用 RentalClient 输入数据(费率,天数),这些数据将发送到 RentalService 进行处理并通过将费率乘以天数返回价格

您需要定义一个接受RateDays作为参数的方法。在您的接口中定义该方法ICalcPrice并在您的类中实现CalcPrice

[ServiceContract]
public interface ICalcPrice
{
    [OperationContract]
    CalcPrice CalculatePrice(double price);

    [OperationContract]
    CalcPrice CalculatePrice(double price, int days);

}

然后在你的课上:

public class CalcPrice : ICalcPrice
{
     public CalcPrice CalculatePrice(double price, int days)
     {
       //your logic
      }
于 2013-02-12T05:52:09.233 回答
0

每次您在服务器端对合同进行更改时,不要忘记在客户端更新您的引用。

在此处输入图像描述

这将为您构建一个新的 wsdl,其中将包含您的合同的更新。在此之后,您将能够使用带有 2 个参数的 CalculatePrice 方法。

于 2013-02-12T09:04:22.933 回答