本教程中用到的软件为VS2015
新建一个WCF服务应用程序
引用上次用到的组件dll文件,我的是ClassLibrary1.dll
IService1.cs中的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
namespace WcfService1
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
[ServiceContract]
public interface IService1
{
[OperationContract]
// TODO: 在此添加您的服务操作
DateStruct RunRandomTest(string str);
}
// 使用下面示例中说明的数据约定将复合类型添加到服务操作。
[DataContract]
public class DateStruct
{
[DataMember]
public string Randomtext_result
{
get;
set;
}
[DataMember]
public string Runtext_result
{
get;
set;
}
[DataMember]
public double Randomtext_value
{
get;
set;
}
[DataMember]
public double Runtext_value
{
get;
set;
}
}
}
Service1中的代码,每个人都不一样,自行根据dll文件修改
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using ClassLibrary1;
namespace WcfService1
{
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。
// 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 Service1.svc 或 Service1.svc.cs,然后开始调试。
public class Service1 : IService1
{
public DateStruct RunRandomTest(string str)
{
DateStruct RunRandomTestresult = new DateStruct();
Myclass myclass = new Myclass();
double P_value_frequency = myclass.Caculater_frequency(str);
double P_value_runs = myclass.Caculater_runs(str);
RunRandomTestresult.Randomtext_value = P_value_frequency;
RunRandomTestresult.Runtext_value = P_value_runs;
if (P_value_frequency < 0.01)
RunRandomTestresult.Randomtext_result = "频数检验失败";
else
RunRandomTestresult.Randomtext_result = "频数检验成功";
if (P_value_runs < 0.01)
RunRandomTestresult.Runtext_result = "游程检验失败";
else
RunRandomTestresult.Runtext_result = "游程检验成功";
return RunRandomTestresult;
}
}
}