Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在PHP中通过COM访问.NET程序集_C#_Php_.net - Fatal编程技术网

C# 在PHP中通过COM访问.NET程序集

C# 在PHP中通过COM访问.NET程序集,c#,php,.net,C#,Php,.net,我有一个.net Web服务方法CheckCustomerLicense,这个方法返回一个C sharp序列化对象,我通过PHP中的Soap调用这个方法 我得到的序列化对象是二进制格式的,不是XML格式的 这正是我所面临的: 我想在PHP中以对象的形式访问该数据,但要做到这一点,我必须对其进行优化,因为它是一个.NET对象,所以我想通过COM使用.NET内置类System.Runtime.Serialization.Formatters.Binary 但它不起作用 当我使用classSystem

我有一个.net Web服务方法
CheckCustomerLicense
,这个方法返回一个C sharp序列化对象,我通过PHP中的Soap调用这个方法

我得到的序列化对象是二进制格式的,不是XML格式的

这正是我所面临的: 我想在PHP中以对象的形式访问该数据,但要做到这一点,我必须对其进行优化,因为它是一个.NET对象,所以我想通过COM使用.NET内置类
System.Runtime.Serialization.Formatters.Binary

但它不起作用

当我使用class
System.Collections.Stack
时,它正在工作,ie.net正在被访问。 但为什么它不适用于类
System.Runtime.Serialization.Formatters.Binary

代码如下所示:

工作

<?php
 $stack = new COM("System.Collections.Stack");
 $stack->Push(".Net");
  $stack->Push("Hello ");
  echo $stack->Pop() . $stack->Pop();
 ?>

不起作用

 <?php
  $obj = new COM("System.Runtime.Serialization.Formatters.Binary");
 ?>


请帮助……

如果只放置名称空间,则需要完整的类名。该类称为
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
(请参阅)


旁注:谁决定通过SOAP序列化的Web服务应该发送二进制序列化的内容?那似乎。。。好。。。委婉地说是“奇怪”。

谢谢。。现在可以访问了,你能告诉我如何在php中以对象的形式访问数据吗?对不起,我没有php方面的经验。作为一名C#程序员,我可以告诉你,我永远不会发送二进制序列化的东西。我甚至不确定它是否有效,你需要知道你得到的对象的.NET类型。如果不使用C#,二进制序列化将是一个大麻烦。你能要求你的Web服务的程序员提供一个合理的接口吗?不,我不能这样要求,因为同一个对象已经在多个C#应用程序中被访问过(由其他C#程序员完成),所以我必须访问同一个对象进行授权…如果返回的数据是XML格式,那么,通过PHP进行访问是可能的吗?SOAP已经是Xml序列化了,所以我很难找到在这个序列化中再次序列化数据的原因。也许你可以和网络服务人员谈谈,你可能误解了什么。我不敢相信他们做额外的工作只是为了让你更难。