Может кто-нибудь помочь мне найти это исключение "Ссылка на объект не установлена" - PullRequest
1 голос
/ 14 июня 2011

Traces.svclog

Это файл трассировки службы, который я использовал, чтобы попытаться отловить исключение нулевой ссылки.Из трассировки стека видно, что это исключение происходит внутри пространства имен System.ServiceModel.Есть ли что-то, что я могу изменить в моем web.Config, что позволило бы мне отследить причину этого исключения?Я в недоумении.В настоящее время я использую эту конфигурацию диагностики.

1 Ответ

0 голосов
/ 14 июня 2011

На сервере я преобразовывал свой запрос LINQ to SQL в «IEnumerable», вызывая «AsEnumerable» для него. Затем я проецировал его в свой POCO / DTO, а затем преобразовал обратно в «IQueryable», вызвав «AsQueryable». Я делал это, потому что некоторые вещи, которые я делал с запросом, не могли быть выполнены с IQueryable (их нельзя было преобразовать в SQL). Когда я вынул это, все работало нормально. Я все еще хотел бы знать, почему это терпело крах.

    [ProjectManagerAuthorization]
    public IQueryable<ProjectSummary> GetMachiningProjects()
    {
        var ret = (from project in _dataContext.DAProjects
                   where project.Status == "purchased" ||
                       project.Status == "ready" ||
                       project.Status == "machining" ||
                       project.Status == "onhold" ||
                       project.Status == "machined"
                   select project).AsEnumerable();

        return (from project in ret
                select new ProjectSummary
                {
                    ID = GetProjectID(project),
                    ProjectNumber = project.ProjectNumber,
                    StoreNumber = project.StoreNumber,
                    ProjectName = project.ProjectName,
                    OwnerEmail = project.OwnerEmail,
                    SheetQuantity = project.SheetQuantity ?? 0.0f,
                    EdgeLength = project.EdgeLength ?? 0.0f,
                    Price = project.Price ?? 0.0m,
                    SheetMaterialDescription = GetProjectSheetStockDescription(project),
                    BandingMaterialDescription = GetProjectBandingStockDescription(project),
                    Status = (ProjectStatus)Enum.Parse(typeof(ProjectStatus), project.Status, true),
                    SubmitDate = UtcNormalizeDateTime(project.SubmitDate),
                    PurchaseDate = UtcNormalizeDateTime(project.PurchaseDate),
                    UsingQueuedMachine = true,
                    QueuedMachineID = project.QueuedMachineID,
                    QueuedMachineOrder = LookupQueuedMachineOrder(project)
                }).AsQueryable();

    }
...