Divya B Nair Ответов: 0

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-скомпилированный тип процессора и запущенный процесс.

0 Ответов