очень легко мы можем разобрать json с помощью словаря и JavaScriptSerializer. Вот пример кода, по которому я разбираю json из файла ashx.
var jss = new JavaScriptSerializer();
string json = new StreamReader(context.Request.InputStream).ReadToEnd();
Dictionary<string, string> sData = jss.Deserialize<Dictionary<string, string>>(json);
string _Name = sData["Name"].ToString();
string _Subject = sData["Subject"].ToString();
string _Email = sData["Email"].ToString();
string _Details = sData["Details"].ToString();
Ну, так как это сообщение перестало работать плохо, я должен был вырыть в вопрос сам.
Также проверяют другие ответы и комментарии для получения дополнительной информации относительно других версий и т.д.
РЕДАКТИРОВАНИЕ: Так как я отправил этот Q, кажется, существует сборные двоичные файлы, сделанные доступный от вихревой домашней страницы. Выезд ответ James .
-
Препроцессор
следующие два символа должны питаться к препроцессору для включения SSL для libcurl:
USE_SSLEAY
USE_OPENSSL
(libcurl использует OpenSSL для поддержки SSL)
, Кроме того, символы могут быть добавлены непосредственно к файлу, названному setup.h в libcurl, но я не слишком доволен изменением кода в сторонних дистрибутивах, если я действительно не имею к.
Восстановление libcurl библиотеки, я теперь добрался, некоторые ошибки о OpenSSL включают файлы, не находимые. Естественно, так как я правильно еще не настроил распределение OpenSSL.
Компиляция двоичные файлы OpenSSL
я загрузил исходное распределение OpenSSL 0.9.8 и распаковал его.
В корне исходного распределения существует файл под названием Установка W32, которая описывает, как скомпилировать двоичные файлы OpenSSL. Цепочка сборки требует жемчуга, таким образом, я установил последнюю версию ActivePerl.
я испытал некоторые затруднения из-за сборки, которая не могла бы быть применима ко всем системам, но я пройду его здесь в случае, если кто-то испытывает то же.
Согласно Установке W32:
Выполнение следующие задачи командной строки с набором текущего каталога к исходному корню распределения:
1> perl Configure VC-WIN32 --prefix=c:/some/openssl/dir
(Где "c:/some/openssl/dir" должен быть заменен dir, где OpenSSL должен быть установлен. Не используйте пробелы в этом пути. Компиляция далее вперед перестанет работать в этом случае)
2> ms\do_ms
Для меня, этот шаг был неудачен сначала, так как я испытал недостаток в переменных среды OSVERSION и TARGETCPU. Я установил их на 01.05.2600 и x86 соответственно. Можно получить жалобу на OSVERSION быть "безумным", но выглядеть ближе, эта ошибка для WinCE и не влияет на установку Win32. Для овладения версией ОС выполните команду 'ver' от командной строки или выполните winver.exe.
3> nmake -f ms\nt.mak (for static library)
или
3> nmake -f ms\ntdll.mak (for DLL)
источник теперь компилирует. Занял приблизительно 5 минут на моем ноутбуке.
, Когда компиляция завершается, освобождение или двоичные файлы были помещены в:
distroot/out32 - для статической сборки библиотеки
или
distroot/out32dll - для сборки DLL
Здание и соединение
Теперь, назад к Visual Studio и указывают на освобождение и включают путь для заголовков. Включать файлы расположены в [1 153] distroot/inc32/openssl.
Не забывают добавлять libeay32.lib и ssleay32.lib, поскольку компоновщик ввел.
Восстанавливают libcurl проект.
Ошибка!
Хорошо, по крайней мере, для меня с этой версией OpenSSL. это жаловалось на определение типа структуры в одном из заголовков OpenSSL. Я не мог найти информацию об этом. После часа гугления я повредил свой собственный принцип и прокомментировал определение типа от заголовка OpenSSL, и к счастью libcurl не использовал тот символ, таким образом, это создало прекрасный.
Обновление: Как указано Jason, эта проблема, кажется, имеет dissapeared с версии 1.0.0a.
Теперь для подтверждения, что поддержка SSL включена для libcurl, выполните следующий код:
curl_version_info_data * vinfo = curl_version_info( CURLVERSION_NOW );
if( vinfo->features & CURL_VERSION_SSL )
// SSL support enabled
else
// No SSL
<час> Простой как это.
Я сделал "do_nt.bat" для windows 7 rc7100 не забудьте "nmake -f ms \ nt.mak install" для правильного копирования заголовков
спасибо, это очень помогло
Пара примечаний в ответ на и / или в дополнение к вышеуказанному ..
Во-первых, если вы не хотите связываться с ActivePerl, клубника Perl потрясающе и отлично работал для этого.
Во-вторых, вместо использования do_ms .bat, я бы порекомендовал предпочитать do_masm , если это возможно, поскольку, согласно install.w32,
это стоит сделать, потому что это будет Результат в более быстрый код: Например, это обычно приведет к 2 раза Ускорение в процессах RSA.
Также построить 0,9,8 л (l) openssl, был кошмаром, поэтому я в конечном итоге сдался и вернулся к 0,9,8 к , который построен и связан (статически) с libcurl 1.9 Без выпуска.
При компиляции OpenSSL 1.0.0 в Windows с Visual Studio 2010 в конечном итоге выдавалась ошибка 0x2:
NMAKE: фатальная ошибка U1077: '"C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ BIN \ cl.EXE "': код возврата' 0x2 '
Stop.
Похоже, что эта ошибка будет выдана из-за флага в файле конфигурации perl, а именно -WX. Как указано в документации MSDN:
Все предупреждения компилятора рассматриваются как ошибки. Для нового проекта лучше всего использовать / WX во всех компиляциях; устранение всех предупреждений гарантирует минимальное количество труднодоступных дефектов кода.
После удаления вхождений -WX в файле конфигурации и повторного ввода команд, указанных здесь , он работал нормально и прошел все тесты.