Получить DataSet из приложения WCF - PullRequest
0 голосов
/ 23 сентября 2019

Я получил результат в WCF Test Client при отладке, не знаю, как получить значение набора данных в браузере.я впервые работаю над проектом 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; }
        }
    }

Service.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 я не получил ни одногорезультат после передачи параметра в виде строки запроса

Я думаю, мне нужно упомянуть некоторые привязки в файле конфигурации, чтобы он работал.Не уверен, как настроить

Любые предложения

1 Ответ

0 голосов
/ 24 сентября 2019

Сначала проблема не относится к набору данных.Ошибка подключения базы данных является проблемой.Я предлагаю вам проверить, использует ли строка подключения встроенную защиту для создания подключения.При развертывании проекта в IIS идентификатор пула приложений заменит идентификатор, на котором работает VS, поэтому подключение к базе данных будет недопустимым.
Веб-служба WCF, размещенная на IIS, возвращает пустой xml-ответ
Второе,по умолчанию DataSet может быть возвращен правильно без указания имени, эта точка отличается от типа DataTable.
Передача унаследованного «Контракта данных» через вызов WCF?
Наконец, проблема не имеет ни одногобизнес с конфигурацией привязки, за исключением того, что возвращаемые данные слишком велики.Как отметил Акшай, возвращение набора данных не является лучшей практикой передачи данных, нам лучше рассмотреть List и настроить пользовательский класс с помощью DataContract.
https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/using-data-contracts
Не стесняйтесь сообщить мне, если проблема все еще существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...