|
Интеграция 1С и C# | ☑ | ||
---|---|---|---|---|
0
Dendroid92
02.11.16
✎
11:10
|
Здравствуйте!
Прочитал статью https://habrahabr.ru/post/136684/ про использование web-сервисов 1C в C#. Остановился на проблеме авторизации. При подключении к веб-сервису в браузере получаю XML-ответ. При добавлении сервиса в C# ввожу логин и пароль от 1С как и в браузере, дальше выскакивает сообщение "The server needs to authenticate your request. Your credentials will be sent to the server in clear text. Do you want to continue?". Зачем проходить аутентификацию еще раз, если я ввел логин и пароль от 1С? Дело в том что по нажатию кнопки "Yes" появляется форма ввода Пользователя и пароля, что туда вносить я так и не понял, ибо ввожу туда логин и пароль 1С и процесс аутентификации бесконечный, просит ввести снова. Что делаю не так? Заранее спасибо за помощь. |
|||
1
Asmody
02.11.16
✎
11:12
|
Ты сам нарвался!
Сейчас придет Serginio1, ну и всё. |
|||
2
DDwe
02.11.16
✎
11:13
|
(0) Щас набегут адепты и их главарь )))
|
|||
3
DDwe
02.11.16
✎
11:13
|
(1) Опередил )))
|
|||
4
Юрий Лазаренко
02.11.16
✎
11:14
|
(1) ))))))))))
|
|||
5
Господин ПЖ
02.11.16
✎
11:14
|
сервис кто предоставляет? 1С?
имхо iis криво настроен. базовая авторизация, а должна быть анонимная |
|||
6
Dendroid92
02.11.16
✎
11:17
|
(5) делаю публикацию на веб-сервере iis, да.
Как сделать анонимную, подскажите пожалуйста, буду признателен. |
|||
7
DDwe
02.11.16
✎
11:17
|
(5) Подожди.
|
|||
8
Кирпич
02.11.16
✎
11:18
|
Краткое содержание веток Serginio1
https://www.youtube.com/watch?v=fA9dnkIhpvA |
|||
9
DDwe
02.11.16
✎
11:19
|
(8) Что там? Ютуба нету
|
|||
10
Кирпич
02.11.16
✎
11:20
|
(9) Краткое содержание веток Serginio1
|
|||
11
Господин ПЖ
02.11.16
✎
11:20
|
(6) http://catalog.mista.ru/public/275820/ шаг 12
|
|||
12
Dendroid92
02.11.16
✎
11:21
|
(11) Сейчас попробую
|
|||
13
Господин ПЖ
02.11.16
✎
11:23
|
народ, кто в web волокет - помощь нужна
|
|||
14
Dendroid92
02.11.16
✎
11:23
|
(13) В чем помощь?
|
|||
15
Dendroid92
02.11.16
✎
11:24
|
(13) Анонимная проверка подлинности включена
|
|||
16
Лефмихалыч
02.11.16
✎
11:27
|
Странно, "сишарп" три раза сказали, а
|
|||
17
Господин ПЖ
02.11.16
✎
11:27
|
есть номер зем. участка. есть сайт госрееста. там есть форма куда можно номер вбить - в ответ будут две ссылки на описание участка в разных реестрах.
как это автоматизировать через 1с? могу получить текст формы с сайта, а дальше чего? парсить ее вставлять значение в нужное поле и отправлять форму обратно + submit()? или как такое делается? |
|||
18
Лефмихалыч
02.11.16
✎
11:28
|
(17) на кнопку submit какой-то скрипт навешан, посмотри, что он делает и к чему обращается. Из этого уже выводы делай.
|
|||
19
Кирпич
02.11.16
✎
11:29
|
(17) у росреестра вроде сервисы есть
|
|||
20
Dendroid92
02.11.16
✎
11:30
|
(17) я похожее делал, передавал в url параметры нужные и отправлял на нужную страницу, как-то так если в кратце
|
|||
21
Господин ПЖ
02.11.16
✎
11:30
|
(19) ковырял их документацию по описанию предоставляемых служб - не нашел
|
|||
22
Господин ПЖ
02.11.16
✎
11:32
|
>ередавал в url параметры нужные
там url какой-то невменяемый... или... а как можно посмотреть что по submit на сервер уходит? |
|||
23
Dendroid92
02.11.16
✎
11:34
|
(22) я жал F12 в Chrome, открывал кладку Network и смотрел куда все улетает по нажатию клавиши, выбирал нужную страницу и смотрел какие у нее параметры были переданы, как-то так
|
|||
24
Dendroid92
02.11.16
✎
11:37
|
Соединение = Новый HTTPСоединение("elibrary.ru");
ФайлРезультата = ПолучитьимяВременногоФайла(); ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); ЗаголовокHTTP.Вставить("Accept-Encoding", "gzip, deflate, sdch"); ЗаголовокHTTP.Вставить("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"); ЗаголовокHTTP.Вставить("Cookie", Куки); ЗаголовокHTTP.Вставить("Host", "elibrary.ru"); ЗаголовокHTTP.Вставить("Proxy-Connection", "keep-alive"); ЗаголовокHTTP.Вставить("Referer", "http://elibrary.ru/authors.asp"); ЗаголовокHTTP.Вставить("Upgrade-Insecure-Requests", "1"); ЗаголовокHTTP.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"); Если СсылкиРабот.Количество() = 0 Тогда ЗаголовокHTTP = Новый Соответствие(); ЗаголовокHTTP.Вставить("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"); ЗаголовокHTTP.Вставить("Accept-Encoding", "gzip, deflate, sdch"); ЗаголовокHTTP.Вставить("Accept-Language", "ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4"); ЗаголовокHTTP.Вставить("Cookie", Куки); ЗаголовокHTTP.Вставить("Host", "elibrary.ru"); ЗаголовокHTTP.Вставить("Proxy-Connection", "keep-alive"); ЗаголовокHTTP.Вставить("Referer", "http://elibrary.ru/authors.asp"); ЗаголовокHTTP.Вставить("Upgrade-Insecure-Requests", "1"); ЗаголовокHTTP.Вставить("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"); Попытка Ответ = Соединение.Получить("/author_items.asp?authorid=" + Карточка.IDРИНЦ, ФайлРезультата, ЗаголовокHTTP); Исключение Сообщить("Неожиданный разрыв соединения. Повторите попытку позже."); КонецПопытки; authorid идет как параметр |
|||
25
Господин ПЖ
02.11.16
✎
11:44
|
(23) это я уже вчера смотрел... там ахтунг какой-то... шифровка. "феликс юстасу" просто
|
|||
26
Dendroid92
02.11.16
✎
11:48
|
(25) Если правильно тебя понял, то Преобразование HTML в ПостроительDOM
|
|||
27
Serginio1
02.11.16
✎
11:56
|
Если у тебя Web ссылка то
Помощь с Web сервисом Да нужно добавить client.PreAuthenticate = true; что бы при каждом вызове добавлялся Authorization: Basic Без него сначала вызов идет без Authorization: Basic получив код 401 добавляет его Если ссылка на службу то var _client = new ServiceClient(); _client.ClientCredentials.UserName.UserName = Логин _client.ClientCredentials.UserName.Password = Пароль; Но есть проблема если логин или пароль на кириллице |
|||
28
Serginio1
02.11.16
✎
11:56
|
var binding = new BasicHttpBinding();
binding.SendTimeout = TimeSpan.FromSeconds(25); binding.Security.Mode = BasicHttpSecurityMode.TransportCredentialOnly; binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic; // var addres = new EndpointAddress("http://localhost/unf/ws/WhatsApp"); var addres = new EndpointAddress("http://localhost.fiddler/unf/ws/WhatsApp"); using (var client = new WhatsApp.WhatsAppPortTypeClient(binding, addres)) // using (var client = new WhatsApp.WhatsAppPortTypeClient("WhatsAppSoap")) { var login = client.ClientCredentials.UserName; // login.UserName = "WebUser"; // login.Password = "1"; login.UserName = "Администратор"; login.Password = ""; client.SetStatus("b46e97f8-3a80-4270-91ee-5aa45cd7a097", "Ид сообщения Вацап"); using (OperationContextScope scope = new OperationContextScope(client.InnerChannel)) { var httpRequestProperty = new HttpRequestMessageProperty(); httpRequestProperty.Headers[System.Net.HttpRequestHeader.Authorization] = "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(client.ClientCredentials.UserName.UserName + ":" + client.ClientCredentials.UserName.Password)); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; // Call svc method here try { string ИдВацап = Guid.NewGuid().ToString(); client.SetStatus("b46e97f8-3a80-4270-91ee-5aa45cd7a097", "Ид сообщения Вацап"); } catch (Exception e1) { string Ошибка = e1.Message + " " + e1.Source; throw new Exception(Ошибка); } } |
|||
29
Dendroid92
02.11.16
✎
11:57
|
(27) На кирилице
|
|||
30
Господин ПЖ
02.11.16
✎
12:00
|
(29) это плохо
|
|||
31
Dendroid92
02.11.16
✎
12:01
|
(28) Вы писали статью в которой прописывали следующий код
var uriString = @"http://localhost/LinqBD/odata/standard.odata/"; var context = new ServiceReference1.EnterpriseV8(new Uri(uriString)); context.Format.UseJson(); var query = context.CreateQuery<ServiceReference1.Catalog_Тестовый>(@"Catalog_Тестовый") ServiceReference1 Вы создавали через "Reference - Add Service reference" однако я пока даже не могу создать данный класс для подключения к сервису. |
|||
32
Serginio1
02.11.16
✎
12:01
|
(29) Вэб ссылка или сыылка на службу.
|
|||
33
Serginio1
02.11.16
✎
12:05
|
(31) Да. А сервис на 1С у тебя работает?
Кроме того нужно галку на ODATA проставить при публикации и соответсвтвено прописать какие объекты будут использоваться Протокол oData, Детализация запроса к Регистру Бухгалтерии (ДвиженияССубконто) Кроме для ODATA или вэб сервисов можешь отключить авторизацию Как отключить http аутентификацию в 1с 8.3.7? |
|||
34
Serginio1
02.11.16
✎
12:08
|
(8) Кирпич, а чего парню то не помог? У тебя все мыли только об этом?
|
|||
35
Dendroid92
02.11.16
✎
12:13
|
(33) Если честно, то я не совсем понимаю специфику интеграции 1С и C#. Читал множество статей про REST-интерфейс и протокол odata, в идеале было бы подключиться по веб-сервису вида http://localhost:8080/Demo1C/odata/standard.odata и работать со справочниками, документами и т.д.
(33) да |
|||
36
Dendroid92
02.11.16
✎
12:13
|
(33) Сейчас попробую прописать там логин и пароль
|
|||
37
Dendroid92
02.11.16
✎
12:20
|
(33) <?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" base="/Demo1C" ib="File="D:\Documents\InfoBase5";usr=Сайт;pw=12345" enableStandardOData="true"> <httpServices publishByDefault="false"/> <ws> <point name="AddressSystem" alias="AddressSystem.1cws" enable="true"/> <point name="Exchange" alias="exchange.1cws" enable="true"/> <point name="Exchange_2_0_1_6" alias="exchange_2_0_1_6.1cws" enable="true"/> <point name="InterfaceVersion" alias="InterfaceVersion.1cws" enable="true"/> <point name="MessageExchange" alias="messageexchange.1cws" enable="true"/> <point name="MessageExchange_2_0_1_6" alias="messageexchange_2_0_1_6.1cws" enable="true"/> <point name="WebAbit" alias="ws1.1cws" enable="true"/> </ws> </point> прописал Логин и Пароль, выводит такую вещь при обращении в браузере к http://localhost:8080/Demo1C/odata/standard.odata 1C:Enterprise 8 application error: Ошибка при разборе дескриптора виртуальных ресурсов by reason: Ошибка разбора XML: - [6,49] Фатальная ошибка: Input is not proper UTF-8, indicate encoding ! Bytes: 0xD1 0xE0 0xE9 0xF2 SystemId: file://C:/inetpub/wwwroot/1C/default.vrd |
|||
38
Serginio1
02.11.16
✎
12:29
|
(35) Проще использовать Вэб сервисы. На стороне VS генерятся классы и легко с ними работать.
(37) Видно ты сохранил в ANSI. Нужно сохранить в UTF-8 |
|||
39
Serginio1
02.11.16
✎
12:36
|
(35) 1С позволяет использовать и HTTP сервисы. Там тебе придется самоу сериализовать десериализовать. Хотя можно использовать обвязки например
https://habrahabr.ru/company/microsoft/blog/310704/ Refit для удобного описания клиента REST API Самым популярным в настоящее время протоколом для общения мобильных приложений с сервером является REST в связке с Json. Поэтому наше сегодняшнее знакомство начнем с библиотеки Refit. Refit позволяет описать спецификации для работы с REST-сервисом в виде простого Interface с понятным набором входных и выходных параметров, включая возможность манипулировать HTTP-заголовками для отдельных запросов. |
|||
40
Кирпич
02.11.16
✎
12:43
|
(34) Чем я ему могу помочь? "Интеграция 1С и C#" - это твой крест, вот и неси его.
|
|||
41
Dendroid92
02.11.16
✎
12:55
|
(38) Пересохранил в UTF-8, в браузере просит авторизацию (при обращении к odata). При обращении к сервису (http://localhost:8080/Demo1C/ws/WebAbit?wsdl) не просит (авторизацию не проходил в прошлый раз). В VS не просит, но появляется опять "The server needs to authenticate your request. Your credentials will be sent to the server in clear text. Do you want to continue?". Что это? И что оно от меня хочет?))
|
|||
42
Serginio1
02.11.16
✎
12:55
|
(40) У меня у самого куча дел. Некогда отвлекаться. А у тебя я так понимаю времени полно.
|
|||
43
Serginio1
02.11.16
✎
12:57
|
(41) Не знаю. У меня не просит.
var uriString = @"http://localhost.fiddler/DemoAccounting/odata/standard.odata/"; var context = new StandardODATA.EnterpriseV8(new Uri(uriString)); |
|||
44
Кирпич
02.11.16
✎
12:59
|
(42) "У меня у самого куча дел."
Пишешь новую нетленную статью на хабр? |
|||
45
Кирпич
02.11.16
✎
13:03
|
+(44) "Как освободиться от влияния маркетинга Microsoft, смотреть на байт и видеть только байт и более ничего"
|
|||
46
Кирпич
02.11.16
✎
13:06
|
или "Импортозамещение. Microsoft друг или враг?. Я запутался."
|
|||
47
Dendroid92
02.11.16
✎
13:11
|
(43) Прописал как у Вас, заработало, получил context, дальше попробую сам разобраться, читая статью на infostart. Огромное спасибо за помощь.
|
|||
48
Serginio1
02.11.16
✎
14:09
|
(44) И то и другое и третье.
(47) Посмотри в сторону Вэб сервисов. |
|||
49
Serginio1
02.11.16
✎
14:11
|
Говорят в 8.3.9 1С добавила Expand
Code First и Linq to EF на примере 1С версии 8.3 |
|||
50
Dendroid92
02.11.16
✎
15:53
|
(49) пишу код
var query = context.CreateQuery<StandardODATA.Catalog_ТипыДокументов>(@"Catalog_ТипыДокументов"); что я получаю на выходе? Как мне получить доступ к реквизитам справочника, т.е. получить список "Паспорт РФ, паспорт иностранного гражданина и т.д."? |
|||
51
CodeFinder
02.11.16
✎
15:59
|
Вы мне лучше расскажите как питон по soap связать. Кто делал?
|
|||
52
Serginio1
02.11.16
✎
16:08
|
А ты не используй CreateQuery.
var result = (from Тестовый in context.Catalog_ТипыДокументов where Тестовый.Число < 500 select Тестовый).ToList(); А дальше смотри данные. Можно не ипользовать Expand Или Подгрузка ссылочных реквизитов https://msdn.microsoft.com/ru-ru/library/cc646508(v=vs.110).aspx var ПустаяСсылка = new Guid("00000000 - 0000 - 0000 - 0000 - 000000000000"); string НоменклатураНаименование = ""; if (result.РеквизитСправочник_Key != ПустаяСсылка) { context.LoadProperty(result, "РеквизитСправочник"); НоменклатураНаименование = result.РеквизитСправочник.Description; } |
|||
53
Dendroid92
02.11.16
✎
16:16
|
(52) пишу
var result = (from ТипыДокументов in context.Catalog_ТипыДокументов select ТипыДокументов).ToList(); получаю ошибку An exception of type 'System.Data.Services.Client.DataServiceQueryException' occurred in Microsoft.Data.Services.Client.dll but was not handled in user code Additional information: При обработке этого запроса возникла ошибка. из-за того что убрал where такое вываливается? По идее в запросах он же необязательный |
|||
54
Dendroid92
02.11.16
✎
16:20
|
(52)
foreach(var c in context.Catalog_ТипыДокументов) { } тоже выдает аналогичную ошибку |
|||
55
Serginio1
02.11.16
✎
16:21
|
Можешь также Include использовать. Правда для нескольких полей нужно использовать строки
http://stackoverflow.com/questions/27345191/entity-framework-load-property-of-child |
|||
56
Serginio1
02.11.16
✎
16:22
|
Попробуй ограничить
foreach(var c in context.Catalog_ТипыДокументов.Take(10) |
|||
57
Dendroid92
02.11.16
✎
16:24
|
(56) Все-равно
|
|||
58
Serginio1
02.11.16
✎
16:30
|
Надо смотреть ошибку. Скопируй в буфер и посмотри в блокноте
|
|||
59
Serginio1
02.11.16
✎
16:30
|
Модно еще
var spr= context.Catalog_ТипыДокументов.FirstOrDefault(); |
|||
60
Serginio1
02.11.16
✎
16:31
|
Посмотри фиддлером, что вызывается и какой ответ
|
|||
61
Serginio1
02.11.16
✎
16:32
|
Если localhost то добавь fiddler
var uriString = @"http://localhost.fiddler/DemoAccounting/odata/standard.odata/";; |
|||
62
Serginio1
02.11.16
✎
16:33
|
Ну и посмотри вообще сервис вызвается через
metadata |
|||
63
Dendroid92
02.11.16
✎
16:37
|
(61) у меня так. Если ставлю fiddler вываливается ошибка
var uristring = @"http://localhost:8080/Demo1C/odata/standard.odata/"; var context = new StandardODATA.EnterpriseV8(new Uri(uristring)); context.Format.UseJson(); |
|||
64
Dendroid92
02.11.16
✎
16:40
|
(62) В браузере то выводится в XML все данные что самое интересное
|
|||
65
Serginio1
02.11.16
✎
16:47
|
А в браузере в каком формате? Какая версия 1С
А ну да XML Попробуй без context.Format.UseJson(); или попробуй context.Format.UseAtom(); Так а ты Фиддлер запустил; http://www.telerik.com/fiddler |
|||
66
Dendroid92
02.11.16
✎
16:57
|
(65) 1С:Предприятие 8.3 (8.3.8.1675)
не ставил, дома уже посмотрю тогда и отпишусь |
|||
67
Dendroid92
03.11.16
✎
10:10
|
(65) А в чем отличие Фидлера от "Инструменты разработчика" в Google? Там же аналог Фидлера встроен
|
|||
68
Serginio1
03.11.16
✎
10:36
|
(67) А там точно весть трафик перехватывется, а нетолько текущей страницы?
Смотри им. Хотя фиддлер по мне удобнее. |
|||
69
Dendroid92
03.11.16
✎
10:40
|
(68) посмотрел трассировку в C# пишет, что авторизация не прошла, в браузере тоже просит Логин и пароль, метод с изменением файла default.vrd не прокатил, как явно указывать их?
|
|||
70
Serginio1
03.11.16
✎
10:45
|
(69) Я тебе же давал ссылку. Вот здесь Протокол oData, Детализация запроса к Регистру Бухгалтерии (ДвиженияССубконто)
про авторизацию здесь http://stackoverflow.com/questions/29502984/how-to-pass-authentication-header-basic-to-odata-service-from-a-netclient Единственно, что нужно вместо Encoding.ASCII использовать Encoding.UTF8 |
|||
71
Serginio1
03.11.16
✎
10:46
|
(69) У всех кроме тебя все работает. Смотри внимательно.
|
|||
72
Serginio1
03.11.16
✎
10:47
|
||||
73
Serginio1
03.11.16
✎
10:49
|
||||
74
Serginio1
03.11.16
✎
10:52
|
У меня так
ib="File="C:\Users\Smirnov_SA\Documents\1C\DemoAccounting";usr=web;pwd="> |
|||
75
Dendroid92
10.11.16
✎
12:37
|
(74) Спасибо за помощь. Оказалось, что ты мне писал не совсем по теме, но для общего развития не помешало) В общем все было намного проще. Нужно было в C# проделать ряд операций:
1. References - Add service references 2. Нажать кнопку Advanced далее Add web references 3. Ввести веб-сервис 4. Ввести в окне авторизации пользователя IUSR P.S. не знаю почему, но пришлось создать пользователя в 1С с именем IUSR и без пароля как и пользователя под которым выполняется запрос к публикации с 1С. Что конкретно до этого было не так, я так и не понял. Возможно нужно создавать Пользователя и пароль на английском. |
|||
76
Serginio1
10.11.16
✎
12:52
|
(76) Тебе про кирилицу писали. И про то, что бы установить пароль и пользователя для отключения авторизации
27,73 |
|||
77
Serginio1
10.11.16
✎
12:57
|
Опять же в статье
http://catalog.mista.ru/public/403524/ Добавить ссылку на службу Берем вставляем в гугл https://msdn.microsoft.com/ru-ru/library/dd673931(v=vs.110).aspx Ели у тебя английская версия то измени язык на английйский |
|||
78
Serginio1
11.11.16
✎
10:42
|
Кстати если будешь использовать .Net Core и вообще новые веяния то используй другое подключение
.Net Core, WCF и ODATA клиенты https://habrahabr.ru/post/310152/ |
|||
79
Dendroid92
11.11.16
✎
12:50
|
(78) Читаю статью http://catalog.mista.ru/public/403524/ пытаюсь делать по аналогии, но:
1) context.Format.UseJson(); Format подчеркивает красным, пишет, что такого нет 2) даже если не указываю формат на строке var query = context.CreateQuery<MeataData1C.Catalog_ТипыДокументов>(@"Catalog_ТипыДокументов") вываливается ошибка An exception of type 'System.Data.Services.Client.DataServiceQueryException' occurred in Microsoft.Data.Services.Client.dll but was not handled in user code Additional information: An error occurred while processing this request. в Exception пишет, что не прошел авторизацию |
|||
80
Dendroid92
11.11.16
✎
14:06
|
(78) посмотрел видео https://www.youtube.com/watch?v=s1UBVYFe2Sc здесь вообще непонятный подход
|
|||
81
Serginio1
11.11.16
✎
14:24
|
(79) Не используй CreateQuery
Пиши сразу 59. А ты авторизацию включил? По ссылке в 33 есть ссылка на http://stackoverflow.com/questions/29502984/how-to-pass-authentication-header-basic-to-odata-service-from-a-netclient |
|||
82
Serginio1
11.11.16
✎
14:26
|
81 Только используй вместо ASCII UTF8
|
|||
83
Dendroid92
11.11.16
✎
14:42
|
(82) Если делать все по видео, то работает. Если делать по другому,то нужно:
1) Добавить веб-сервис в C# 2) в web.config прописать как в (80) 3) ОБЯЗАТЕЛЬНО прописать Credentials по типу context.Credentials = new NetworkCredential(ConfigurationManager.ConnectionStrings["UserOData"].ConnectionString, ConfigurationManager.ConnectionStrings["PasswordOData"].ConnectionString); Остается в силе вопрос: Почему я не могу указать формат вывода? context.Format.Json() подсвечивает Format красным |
|||
84
Dendroid92
11.11.16
✎
14:57
|
(82) Хотя преобразование в формат JSon в ASP.NET MVC решается примерно так:
public JsonResult GetFormsForLevels1(int Id) { List<Form> ListForm = new List<Form>(); if (Id > 0) { ListForm = dataManager.Forms.GetFormById(Id).Select(x => new Form { Id = x.Id, Name = x.Name }).ToList(); } return Json(ListForm.ToArray()); } |
|||
85
Serginio1
11.11.16
✎
14:58
|
(93) Не вэб сервис, а ссылку на службу.
там не web.config а app.config и нужен если меняются UserOData и PasswordOData тоже самое ты можешь сделать и используя 72,81 context.Format.Json() зависит от клиента. У меня все есть и работает в том числе отключение авторизации |
|||
86
Serginio1
11.11.16
✎
14:59
|
(84) А у тебя Asp.Net. А версия VS какая?
|
|||
87
Dendroid92
14.11.16
✎
10:51
|
(86) 2013 Ultimate (85) Когда создавал классы по видео, тогда формат присутствовал. Когда добавил службу, то куда-то пропал, но мне не суть важно, ибо я все-равно передаю на Вьюшку в JSon-формате
|
|||
88
Serginio1
14.11.16
✎
11:33
|
(87) У меня VS 2015 апдейт 3
|
|||
89
oleg_km
14.11.16
✎
14:53
|
(87) Офф. Ты на всякий случай глянь сколько стоит VS Ultimate. Я об этом впервые узнал от полиционера, который пришел проверять у нас лицензионность ПО.
|
|||
90
Dendroid92
14.11.16
✎
15:08
|
(89) я у IT-шников наших спросил, на сайте среди купленных продуктов Microsoft она была. Тем более насколько знаю образовательным учреждениям бесплатно дается.
|
|||
91
Serginio1
14.11.16
✎
15:20
|
(90) Поставь VS 2015 апдейт 3
|
|||
92
oleg_km
14.11.16
✎
16:06
|
(90) Тогда круто.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |