我收到此未处理的异常错误:
未处理的类型' System.Reflection.TargetInvocationException' (BackEndUtil.cs的以下代码中bool变量的第3行中发生了调用目标抛出异常)
public static bool iMigrateProcess(string inputXML, out string outputXML,object objWebClient, string webSessionID)
{
outputXML = "";
object[] args = new Object[] { inputXML, outputXML };
bool bSuccess = (bool)objWebClient.GetType().InvokeMember("Process",
BindingFlags.Default | BindingFlags.InvokeMethod, null, objWebClient, args);
outputXML = (string)args[1];
return bSuccess;
}
以下是其他文件(reference.cs)的处理方法
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://BackendWebService.domain/Process", RequestNamespace="http://BackendWebService.domain/", ResponseNamespace="http://BackendWebService.domain/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
public string Process(string inputXML) {
object[] results = this.Invoke("Process", new object[] { inputXML });
return ((string)(results[0]));
}
这里我使用了一个Web服务(.asmx文件)来拼接两个图像文件。这里的inputXML似乎很好,包含服务器上传图像文件的文件路径的XML。但是,代码并没有超出第3行。 这段代码不是由我做的,所以我不知道如何解决这个问题。
有两个InnerExceptions: 确保文件映像是有效的托管程序集。 确保为程序集提供了正确的文件路径。
以下是上面附带的调用堆栈中的iMigrateProcess代码。
public static bool iMigrateProcess(cDataContainer inputDC, out cDataContainer outputDC, object objWebClient)
{
return iMigrateProcess(inputDC, out outputDC, objWebClient, "");
}
public static bool iMigrateProcess(cDataContainer inputDC, out cDataContainer outputDC, object objWebClient, string webSessionID)
{
outputDC = null;
object[] args = new Object[] { inputDC, outputDC };
bool bSuccess = (bool)objWebClient.GetType().InvokeMember("Process",
BindingFlags.Default | BindingFlags.InvokeMethod, null, objWebClient, args);
outputDC = (cDataContainer)args[1];
return bSuccess;
}