Кристаллические значки/панель инструментов Report, не работающие при развертывании на веб-сервере

NullPointerException s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException. Они наиболее распространены, но другие способы перечислены на странице NullPointerException javadoc.

Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException, be:

public class Example {

    public static void main(String[] args) {
        Object obj = null;
        obj.hashCode();
    }

}

В первой строке внутри main я явно устанавливаю ссылку Object obj равной null. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.

(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)

6
задан Dhaust 2 November 2008 в 02:02
поделиться

4 ответа

Doh! Кто-то еще здесь на работе понял это. Это было действительно просто, и я должен был смочь отсортировать его, но эй, это - то, как это иногда идет.

Здесь фиксация:
На веб-сервере скопируйте 'aspnet_client' папку от 'C:\Inetpub\wwwroot' до 'C:\Inetpub\wwwroot\your-website-name'.

Это - все, что мы сделали и это теперь работает.

Надежда это сохраняет кого-то от всей суеты я просто, прошла.

6
ответ дан 10 December 2019 в 00:46
поделиться

Почему бы не написать все функции таким образом?

В таком случае, почему бы не полностью забыть о параметрах и не использовать глобальные переменные для всего? (шутка)

Передача ассоциативного массива имеет одно полезное преимущество: вы можете сделать несколько параметров функции необязательными, и вы можете передать значение для N -го параметра без необходимости передавать значение для * N -1 * th параметр.

Но у вас нет возможности сделать обязательные параметры с ошибкой времени компиляции, если вы их не передадите. Вы также не можете объявить проверку типов.

Вам нужно будет написать код внутри вызываемой функции для проверки наличия и типа требуемых параметров.

Я использовал альтернативу, чтобы объявить обычные параметры для тех, которые являются обязательными, а затем в качестве последнего (необязательного) аргумента

2
ответ дан 10 December 2019 в 00:46
поделиться

Попробовать
На веб-сервере скопируйте папку aspnet_client из C: \ Inetpub \ wwwroot и вставьте в папку вашего веб-сайта. (Где будут находиться папка формы, папка app_data и т. Д.)

2
ответ дан 10 December 2019 в 00:46
поделиться

Я взял на себя обслуживание кода, созданного другим разработчиком, который ушел и тоже столкнулся с этой проблемой. В моем случае скомпилированный отчет искал изображения в папке crystalreportview115, которая существовала в моем локальном пути разработки и, следовательно, работала локально. Единственной папкой на целевом сервере была CrystalReportWebFormViewer4 (я предполагаю, что это было из предыдущей установки сервера или развертывания сайта). Просто добавив папку ... 115, я решил проблему.

Основной причиной для нас может быть версия Crystal, установленная на машине разработчика. Не уверен, что это кому-то поможет, но подумал, что упомяну об этом!

0
ответ дан 10 December 2019 в 00:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: