Как разместить огромные данные с помощью сервиса WCF с хранимой процедурой?
Привет,
Я создал службу WCF с помощью хранимой процедуры.
[WebGet] public List<View_JobAssign> AssignJobs(string employeeId, string assignDate, string jobs, string userId) { try { TrackerEntities entities = new TrackerEntities(); return entities.AssignJobs(Convert.ToDateTime(assignDate), Convert.ToInt32(employeeId), jobs, Convert.ToInt32(userId)).ToList(); } catch (Exception ex) { throw new DataServiceException(ex.Message + ex.InnerException); } }
Данные, которые я передаю в вышеуказанную службу, таковы:
кодсотрудника = 1, assignDate = "2017-02-22", вакансии="1,2,3", id_пользователя = 1
и это действует как обаяние.
Но проблема в том, когда я пытаюсь сдать задания = '1,2,....10000' то есть до 10000, что делает длинную строку, то я получаю ошибку HTTP-запроса failed.
Как передать данные в хранимую процедуру, созданную службой с длинными данными?
есть ли альтернатива?
Что я уже пробовал:
Я пытался использовать поставщик отражений с Entity Framework, но это не работает.
Richard Deeming
Вы получаете ошибку "request entity too large"? Если это так, то вам нужно будет увеличить maxReceivedMessageSize
на твоем переплете.
Если вы получаете другую ошибку, то вам нужно будет сообщить нам подробности этой ошибки.
Также:
throw new DataServiceException(ex.Message + ex.InnerException);Не делайте этого так; вы просто отбросили интересные детали исключения. Воспользуйся:
throw new DataServiceException(ex.Message, ex);
Member 13681529
Да, я получаю ниже ошибку, когда я пытался запустить на браузере.
Слишком длинный URL-адрес запроса
Ошибка HTTP 414. URL-адрес запроса слишком длинный.
А потом я попробовал то же самое на остальных клиентах. Затем он сказал HTTP Error 400 - Bad Request.
Кроме того, я попробовал maxReceivedMessageSize до 2147483647, но проблема все та же.