Обновление мини-профилировщика с 1,7 до 1,9 нарушает существующий код

У меня есть asp.net проект, в котором используется mvc-mini-профилировщик. Я использовал версию 1.7 пакета NuGet и заметил, что есть обновленный пакет, версия которого 1.9. Я обновил пакет и теперь мой код больше не компилируется. Кодекс, который не собирает:

public static T GetProfiledContext() where T : System.Data.Objects.ObjectContext
{
    var conn = GetStoreConnection();
    if (_enableProfiling)
    {
        conn = ProfiledDbConnection.Get(conn);
    }
    return ObjectContextUtils.CreateObjectContext(conn);
}

ошибки компиляции сообщают о следующих проблемах:

  • 'MvcMiniProfiler. Данные. ProfiledDbConnection' не содержит определение для, 'Добираются'.
  • Имя ObjectContextUtils не существует в текущем контексте.

Я заметил, что я могу создать экземпляр ProfededDbConnection и передать ему соединение и объект типа IDbProfiler, но я не уверен, как получить этот объект.

Что касается ObjectContextUtils, я понятия не имею, что я должен использовать.

Как устранить эти неполадки?


Обновить:

Следуя рекомендациям @ monkeychatter, удалось построить код. Теперь я получаю следующее исключение среды выполнения:

Возвращено значение null после вызова метода get _ ProvireFactory в экземпляре поставщика хранилища типа MvcMiniProfiler.Data.ProfedDbConnection. Возможно, поставщик хранилища работает неправильно.

Проверяя ProfededDbConnection в ILSpy, я заметил, что он больше не переопределяет DbProvireFactory. Это является причиной ошибки, поскольку базовая реализация возвращает значение null. Удалось ли кому-либо обойти эту проблему?

-121--1251201-

Преобразовать документ Java w3c в XMLStreamReader Я хотел бы повторно использовать некоторые существующие коды в нашей базе кода, которая принимает XMLStreamReader мое приложение имеет необходимые данные в качестве документа w3c Ниже приведен пример минимального тестового случая: public...

Я хотел бы повторно использовать некоторый существующий код в нашей базе кода, который принимает XMLStreamReader мое приложение имеет требуемые данные в качестве документа w3c.

Следующий пример представляет собой минимальный тестовый пример:

public static void main(String[] args) throws Exception {
    DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = builderFactory.newDocumentBuilder();

    Document doc = builder.newDocument();

    Element rootElement = doc.createElement("Groups");
    doc.appendChild(rootElement);
    Element group = doc.createElement("Group");
    group.setTextContent("Wibble");
    rootElement.appendChild(group);

    DOMSource source = new DOMSource(doc);

    XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(source);

    reader.nextTag();
    System.out.println("NextTag:" + reader.getName());
}

Ожидаемый результат должен быть примерно таким: NextTag: Groups , но вместо этого создается следующее:

Exception in thread "main" javax.xml.stream.XMLStreamException: java.net.MalformedURLException
    at com.sun.xml.stream.XMLReaderImpl.setInputSource(XMLReaderImpl.java:196)
    at com.sun.xml.stream.XMLReaderImpl.(XMLReaderImpl.java:179)
    at com.sun.xml.stream.ZephyrParserFactory.createXMLStreamReader(ZephyrParserFactory.java:139)
    at Main.main(Main.java:27)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.net.MalformedURLException
    at java.net.URL.(URL.java:601)
    at java.net.URL.(URL.java:464)
    at java.net.URL.(URL.java:413)
    at com.sun.xml.stream.XMLEntityManager.startEntity(XMLEntityManager.java:762)
    at com.sun.xml.stream.XMLEntityManager.startDocumentEntity(XMLEntityManager.java:697)
    at com.sun.xml.stream.XMLDocumentScannerImpl.setInputSource(XMLDocumentScannerImpl.java:300)
    at com.sun.xml.stream.XMLReaderImpl.setInputSource(XMLReaderImpl.java:193)
    ... 8 

В настоящее время используется Java 6 update 22.

Дополнительные сведения: Источник для ZephyrParserFactory # jaxpSourcetoXMLIn putSource , по-видимому, указывает на то, что объект Source преобразуется путем поиска SystemId , а не фактического содержимого источника DOMSource.

Обновление: Мой исходный тестовый пример, приведенный выше, был фактически выполнен с использованием пути к классам проекта, который фактически включает библиотеку JAXB 2,2,1, которая, в свою очередь, использует sjsxp 1,0,1. Запуск на чистом пути к классам дает:

Exception in thread "main" java.lang.UnsupportedOperationException: Cannot create XMLStreamReader or XMLEventReader from a javax.xml.transform.dom.DOMSource
    at com.sun.xml.internal.stream.XMLInputFactoryImpl.jaxpSourcetoXMLInputSource(XMLInputFactoryImpl.java:302)
    at com.sun.xml.internal.stream.XMLInputFactoryImpl.createXMLStreamReader(XMLInputFactoryImpl.java:145)

Что соответствует ответу @ Gary Rowe.

5
задан Gareth Davis 1 September 2011 в 07:49
поделиться