Форум программистов, компьютерный форум, киберфорум
C#: Веб-сервисы и WCF
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
3 / 3 / 2
Регистрация: 07.10.2011
Сообщений: 87
1

Не передаются данные (отсутствие экземпляра)

23.04.2012, 22:33. Показов 2732. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, пишу программу - WCF приложение:

через веб-сервис получаю данные из EF - Формирую объект , назначаю его выходным параметром для веб-метода. Клиент работает с ним - изменяет, некоторые параметры добавляет. Второй веб -метод принимает, этот объект как входной параметр и сохраняет изменения в БД. Все вроде логично - но выбивает ошибку веб -метода ( пишет что отсутствует ссылка на объект - но я ведь в клиенте работаю с объектом, для верности даже в сессию его сохранил и уже оттуда передаю - приведение типов явное выполнил, на стороне сервера тоже для этого объекта экземпляр создал. Если не трудно поделитесь мыслями, что это может быть такое, и как с ним бороться.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2012, 22:33
Ответы с готовыми решениями:

В Debug режиме в VS-2012 данные передаются нормально, но при запуске без дебага возникают ошибки и данные не передаются
Всем доброе время суток. Есть проект, работающий на ASP.NET MVC с использованием Entity Framework....

Не передаются данные в БД!
Приветствую! Я пока еще зеленый и нуждаюсь в Вашей помощи. При попытке отправить данные в таблицу...

Не передаются данные из textarea
вот хтмл: <form name = 'comment_form' action =...

Не передаются данные из формы
Имеется форма <div id="con1"> <form method="POST" action="add_books.php" > ...

4
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
24.04.2012, 12:37 2
подробное описание нужно, атрибуты сериализации стоят? где конкретно пустая ссылка
1
3 / 3 / 2
Регистрация: 07.10.2011
Сообщений: 87
24.04.2012, 14:58  [ТС] 3
Атрибуты сериализации, да нет не ставил все вроде и без них клиенту доходит.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Configuration;
 
namespace CustomerReports
{
    /// <summary>
    /// Сводное описание для WebServiceReport
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // Чтобы разрешить вызывать веб-службу из скрипта с помощью ASP.NET AJAX, раскомментируйте следующую строку. 
    // [System.Web.Script.Services.ScriptService]
    public class WebServiceReport : System.Web.Services.WebService
    {
        WorkersEntities1 WE;
        Worker wk1;
        Worker wk2 = new Worker();
        /// <summary>
        /// Фабрика по производству класа, Worker которая возращается методом на стороне клиента.
        /// </summary>
        /// <param name="Name">Имя </param>
        /// <param name="pass">пароль</param>
        /// <returns></returns>
        [WebMethod]
        public Worker Identity(string Name, string pass)
        {
            WE = new WorkersEntities1();
            wk1 = new Worker();
            var z = (from c in WE.NamePass
                         where c.Name == Name && c.Pass == pass
                         select c);
 
            // Выясняем ID Работника который нам нужен
            foreach ( var work in z)
            {
                wk1.Name = work.Name;
                wk1.ID = work.id;
        
            }
 
           // заполняем поля класса  Worker из EF сущности
            var Progect = from spas in WE.Project
                          where spas.id == wk1.ID
                          select spas;
 
            //  создаем множество экземпляров полей ListDescript
 
            foreach (var LD in Progect)
            {
                wk1.Projects.Add(new ListDescript() { Name = LD.project });
            
            }
 
            
 
           // Заполняем поле PartOfProjects
            foreach (var item in wk1.Projects) 
            {
                var PartOfPr = from spas in WE.PartOfProject
                               where spas.ForeinID == item.Name
                               select spas;
                foreach (var proj in PartOfPr)
                { 
                  item.ManyDiscription.Add(new Description() { ForeinID = proj.ForeinID, ID = proj.ID, Descript = proj.Descript, Time = proj.Time });
                    
                }
 
            }
 
           return wk1;
 
        }
        [WebMethod]
       [B] public void Save(Worker Inst)[/B] // я так понял ошибка здесь - судя по сообщению отладчика - ругается на (Worker  Inst) - вот эта штука должна прийти на обработку со стороны клиента. И эти данные я раскину, предварительно проанализировав обратно в SQL базу через EF context.
        {
           // 
            wk2 = Inst; 
          
 
         
        }
    }
    
 
}
Вот такой код - ну EF чтобы с SQL сильно не заморачиватся - а класс Work, ну мне показалось что рекомендуют создавать между данными и представлением еще один слой. класс Work - это вот что то вроде промежуточного слоя. Может есть и более изящные решения, но я пока их не умею творить.
0
208 / 138 / 15
Регистрация: 28.04.2011
Сообщений: 389
24.04.2012, 15:27 4
что то понятнее не стало) и это не wcf, старая технология .net WebServices
где хостится сервис? дебаг туда попадает?
1
3 / 3 / 2
Регистрация: 07.10.2011
Сообщений: 87
24.04.2012, 18:15  [ТС] 5
Ого) интересненько...ну ладно не важно как оно называется лишь бы заработало)

ну хостится он localhost - но порты разные у клиента и localhosta. Я просто вчера снес на клиенте веб-ссылку... Счас быстренько кину и скину текст бага

Добавлено через 1 час 13 минут
ну вот, не успел я порадоваться и начать писать код дальше снова та же ошибка..

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Ошибка сервера в приложении '/'.
System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос. ---> System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
  в CustomerReports.WebServiceReport.Save(Worker Inst) в C:\Users\roma\Documents\Visual Studio 2010\Projects\IntuitApp\CustomerReports\CustomerReports\WebServiceReport.asmx.cs:строка 87
  --- Конец трассировки внутреннего стека исключений ---
Описание: Необработанное исключение при выполнении текущего веб-запроса. Изучите трассировку стека для получения дополнительных сведений о данной ошибке и о вызвавшем ее фрагменте кода.
 
Сведения об исключении: System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос. ---> System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
  в CustomerReports.WebServiceReport.Save(Worker Inst) в C:\Users\roma\Documents\Visual Studio 2010\Projects\IntuitApp\CustomerReports\CustomerReports\WebServiceReport.asmx.cs:строка 87
  --- Конец трассировки внутреннего стека исключений ---
 
Ошибка источника:
 
Строка 112:        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Save", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
Строка 113:        public void Save(Worker Inst) {
Строка 114:            this.Invoke("Save", new object[] {
Строка 115:                        Inst});
Строка 116:        }
 
 
 
 
Трассировка стека:
 
[SoapException: System.Web.Services.Protocols.SoapException: Серверу не удалось обработать запрос. ---> System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в CustomerReports.WebServiceReport.Save(Worker Inst) в C:\Users\roma\Documents\Visual Studio 2010\Projects\IntuitApp\CustomerReports\CustomerReports\WebServiceReport.asmx.cs:строка 87
   --- Конец трассировки внутреннего стека исключений ---]
   System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) +1485877
   System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +221
   ClientAndIdentity.localhost.WebServiceReport.Save(Worker Inst) in C:\Users\roma\Documents\Visual Studio 2010\Projects\IntuitApp\CustomerReports\ClientAndIdentity\Web References\localhost\Reference.cs:114
   ClientAndIdentity.Client.Button3_Click(Object sender, EventArgs e) in C:\Users\roma\Documents\Visual Studio 2010\Projects\IntuitApp\CustomerReports\ClientAndIdentity\Client.aspx.cs:81
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563
0
24.04.2012, 18:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2012, 18:15
Помогаю со студенческими работами здесь

не передаются данные из формы
Добрый день. У меня возникла такая проблема! Данные из формы передаются, но только часть, т.е. в...

Не передаются данные из формы
Не передает данные из textarea в php. Выводит + , а на - никогда не меняет. Если я правильно...

Не передаются данные в класс
в Unit4 такие строки value:=strtofloat(Copy(Memo1.lines, 3, length(tmp))); end; ...

Не передаются данные из формы
Такая проблема: есть html-файл с формой, и есть обработчик php-файл, в котором введенные на форму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru