NSIS : не удалось вызвать сборку .NET с помощью CLR::call, который проверяет, запущена ли веб-служба
Hi, I have a .Net library which checks if a WCF service is up and running. Below is the function I have used. public string VerifySiteExists(string wcfurl) { HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(wcfurl); httpReq.AllowAutoRedirect = false; HttpWebResponse httpRes = (HttpWebResponse)httpReq.GetResponse(); if (httpRes.StatusCode != HttpStatusCode.OK) result = "OK"; httpRes.Close(); I have called the same in NISSI using CLR::Call CLR::Call /NOUNLOAD "TestService.dll" "TestService.MyClass" "VerifySiteExists" 1 "https://axx.xx.com/xx/yyy.svc" But it gives me the error- "Exception has been thrown by target invocation. . Kindly advice. Thanks
Что я уже пробовал:
Я заметил, что это происходит из-за того .Чистый класс HttpWebRequest. Если я комментирую эти функции и возвращаю простую строку "Hello World", она отлично работает. Мне нужно реализовать еще одну функцию, которая должна подключаться к SQL db, чтобы проверить, существуют ли данные в таблице. В обоих этих случаях я сталкиваюсь с одной и той же проблемой.
F-ES Sitecore
Я бы, вероятно, начал с использования сетевого монитора, такого как fiddler или wireshark, чтобы изучить сетевой вызов, чтобы увидеть, если что-то выделяется. Иногда в ответ включается более подробное сообщение об ошибке, так как эти инструменты покажут это.
Divya B Nair
Существуют определенные ограничения на вызов .Сетевая библиотека от NSIS. Моя интуиция указывает на это. Я определенно уверен, что это не связано с кодом C#, так как боком я реализовал его как консольное приложение и нашел его работающим.
Mehdi Gholam
Проверьте, совпадают ли ваш dll-скомпилированный тип процессора и запущенный процесс.