繁体   English   中英

从 WCF 应用程序中检索数据集

[英]Retrive DataSet from WCF application

我在调试时在 WCF 测试客户端中得到了结果,不知道如何在浏览器中获取数据集值。 我第一次在 wcf 项目上工作

IService.cs

[ServiceContract]
    public interface IService
    {
        [OperationContract]
        DataSet Permit(getPermit name);
    }

    [DataContract]
    public class getPermit{

        string name = string.Empty;

        [DataMember]
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
    }

服务.SVC

public System.Data.DataSet Permit(getPermit name)
        {
            DataSet ds = new DataSet();
            string connection = ConfigurationManager.ConnectionStrings["xyz"].ConnectionString.ToString();
            string cmdText = "sql Query";
            SqlConnection con = new SqlConnection(connection);
            con.Open();
            SqlCommand cmd = new SqlCommand(cmdText, con);     
            cmd.ExecuteNonQuery();
            using (SqlDataAdapter da = new SqlDataAdapter(cmd))
            {
                da.Fill(ds);
                return ds;
            }
        }

部署到 IIS 后,将参数作为查询字符串传递后没有任何结果

我想,我需要在配置文件中提及一些绑定以使其工作。 不知道怎么配置

有什么建议么

起初,问题与数据集无关。 连接数据库失败是问题所在。 我建议你检查连接字符串是否使用集成安全来建立连接。 当我们将项目部署到 IIS 时,应用程序池标识将替换运行 VS 的标识,从而导致数据库连接无效。
WCF 托管在 IIS 上的 Web 服务返回空 xml 响应
其次,默认情况下DataSet可以在不指定名称的情况下正确返回,这点与DataTable类型不同。
通过 WCF 调用传递继承的“数据合同”?
最后,除了返回的数据太大外,与绑定配置无关。 正如 Akshay 所提到的,返回数据集并不是传输数据的最佳实践,我们最好考虑 List 并使用 DataContract 自定义用户 class。
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/using-data-contracts
如果问题仍然存在,请随时告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM