簡體   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