Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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# 客户端上的Soap Web服务异步方法调用异常_C#_Web Services_Soap - Fatal编程技术网

C# 客户端上的Soap Web服务异步方法调用异常

C# 客户端上的Soap Web服务异步方法调用异常,c#,web-services,soap,C#,Web Services,Soap,我们有一个名为GetAuthorizationKey的asmx soap web服务方法,有一个windows服务使用此web服务方法,但当我安装build时,我的本地计算机配置为针对远程服务运行,它运行并不会引发异常,但当我将构建安装到Windows 2008服务器时,服务会引发以下异常 Exception: the operation 'GetAuthorizationKeyAsync' could not be loaded because it has a parameter or re

我们有一个名为GetAuthorizationKey的asmx soap web服务方法,有一个windows服务使用此web服务方法,但当我安装build时,我的本地计算机配置为针对远程服务运行,它运行并不会引发异常,但当我将构建安装到Windows 2008服务器时,服务会引发以下异常

Exception: the operation 'GetAuthorizationKeyAsync' could not be loaded because it has a parameter or return type of type System.ServiceModel.Channels.Message or a type that has MessageContractAttribute and other parameters of different types. When using System.ServiceModel.Channels.Message or types with MessageContractAttribute, the method must not use any other types of parameters.    at System.ServiceModel.Dispatcher.OperationFormatter.Validate(OperationDescription operation, Boolean isRpc, Boolean isEncoded)
   at System.ServiceModel.Dispatcher.OperationFormatter..ctor(OperationDescription description, Boolean isRpc, Boolean isEncoded)
   at System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter..ctor(OperationDescription description, DataContractFormatAttribute dataContractFormatAttribute, DataContractSerializerOperationBehavior serializerFactory)
   at System.ServiceModel.Description.DataContractSerializerOperationBehavior.GetFormatter(OperationDescription operation, Boolean& formatRequest, Boolean& formatReply, Boolean isProxy)
   at System.ServiceModel.Description.DataContractSerializerOperationBehavior.System.ServiceModel.Description.IOperationBehavior.ApplyClientBehavior(OperationDescription description, ClientOperation proxy)
   at System.ServiceModel.Description.DispatcherBuilder.BindOperations(ContractDescription contract, ClientRuntime proxy, DispatchRuntime dispatch)
   at System.ServiceModel.Description.DispatcherBuilder.BuildProxyBehavior(ServiceEndpoint serviceEndpoint, BindingParameterCollection& parameters)
   at System.ServiceModel.Channels.ServiceChannelFactory.BuildChannelFactory(ServiceEndpoint serviceEndpoint, Boolean useActiveAutoClose)
   at System.ServiceModel.ChannelFactory.CreateFactory()
   at System.ServiceModel.ChannelFactory.OnOpening()
   at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
   at System.ServiceModel.ChannelFactory.EnsureOpened()
   at System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)
   at System.ServiceModel.ClientBase`1.CreateChannel()
   at System.ServiceModel.ClientBase`1.CreateChannelInternal()
   at System.ServiceModel.ClientBase`1.get_Channel()
   at service.AuthService.AuthServiceSoapClient.service.AuthService.AuthServiceSoap.GetAuthorizationKey(GetAuthorizationKeyRequest request)
   at service.AuthService.AuthServiceSoapClient.GetAuthorizationKey(String UserName, String Password)
   at service.Helpers.AuthHelper.GetAuthKey()
   at service.ArchiveService.OnStart(String[] args) 

Service binding configuration as follows on client side:
<system.serviceModel>
        <bindings>
            <basicHttpBinding>
                <binding name="basicHttp" sendTimeout="00:03:00" allowCookies="true"
                    maxBufferPoolSize="20000000" maxBufferSize="20000000" maxReceivedMessageSize="20000000">
                    <readerQuotas maxDepth="32" maxStringContentLength="200000000"
                        maxArrayLength="200000000" />
                </binding>
            </basicHttpBinding>
        </bindings>
        <client>
            <endpoint address="http://10.179.160.157/VpefWebservice/EArchive/EArchiveOperations.asmx"
                binding="basicHttpBinding" bindingConfiguration="basicHttp"
                contract="EArchiveOperations.EArchiveOperationsSoap" name="EArchiveOperationsSoap" />
            <endpoint address="http://10.179.160.157/VpefWebservice/AuthService.asmx"
                binding="basicHttpBinding" bindingConfiguration="basicHttp"
                contract="AuthService.AuthServiceSoap" name="AuthServiceSoap" />
            <endpoint address="http://10.179.160.157/VpefWebservice/EInvoice/EInvoiceStagingService.asmx"
                binding="basicHttpBinding" bindingConfiguration="basicHttp"
                contract="EStagingService.EInvoiceStagingServiceSoap" name="EInvoiceStagingServiceSoap" />
            <endpoint address="http://10.179.160.157/VpefWebservice/ELedger/ELedgerOperations.asmx"
                binding="basicHttpBinding" bindingConfiguration="basicHttp"
                contract="ELedgerOperations.ELedgerOperationsSoap" name="ELedgerOperationsSoap" />
            <endpoint address="http://10.179.160.157/VpefWebservice/EArchive/EArchiveReportOperations.asmx"
                binding="basicHttpBinding" bindingConfiguration="basicHttp"
                contract="EArchiveReportOperations.EArchiveReportOperationsSoap"
                name="EArchiveReportOperationsSoap" />
        </client>
    </system.serviceModel>
异常:无法加载操作“GetAuthorizationKeyAsync”,因为它的参数或返回类型为System.ServiceModel.Channels.Message,或者类型为MessageContractAttribute和其他不同类型的参数。使用System.ServiceModel.Channels.Message或带有MessageContractAttribute的类型时,该方法不得使用任何其他类型的参数。位于System.ServiceModel.Dispatcher.OperationFormatter.Validate(OperationDescription操作,布尔isRpc,布尔isEncoded)
位于System.ServiceModel.Dispatcher.OperationFormatter..ctor(OperationDescription描述,布尔isRpc,布尔isEncoded)
位于System.ServiceModel.Dispatcher.DataContractSerializePropertyFormatter..ctor(操作说明说明、DataContractFormattribute DataContractFormattribute、DataContractSerializePropertyBehavior serializerFactory)
位于System.ServiceModel.Description.DataContractSerializerOperationBehavior.GetFormatter(OperationDescription操作、布尔和formatRequest、布尔和formatReply、布尔isProxy)
位于System.ServiceModel.Description.DataContractSerializePropertyBehavior.System.ServiceModel.Description.IOOperationBehavior.ApplyClientBehavior(OperationDescription说明,ClientOperation代理)
位于System.ServiceModel.Description.DispatcherBuilder.BindOperations(ContractDescription契约、ClientRuntime代理、DispatcherRuntime调度)
位于System.ServiceModel.Description.DispatcherBuilder.BuildProxyBehavior(ServiceEndpoint ServiceEndpoint、BindingParameterCollection和parameters)
位于System.ServiceModel.Channels.ServiceChannelFactory.BuildChannelFactory(ServiceEndpoint ServiceEndpoint,布尔值useActiveAutoClose)
在System.ServiceModel.ChannelFactory.CreateFactory()中
在System.ServiceModel.ChannelFactory.OnOpen()中
在System.ServiceModel.Channels.CommunicationObject.Open处(TimeSpan超时)
在System.ServiceModel.ChannelFactory.Resulted()中
位于System.ServiceModel.ChannelFactory`1.CreateChannel(端点地址,Uri通过)
位于System.ServiceModel.ClientBase`1.CreateChannel()
位于System.ServiceModel.ClientBase`1.CreateChannelInternal()
在System.ServiceModel.ClientBase`1.get_Channel()中
位于service.AuthService.AuthServiceSoapClient.service.AuthService.AuthServiceSoap.GetAuthorizationKey(GetAuthorizationKeyRequest请求)
位于service.AuthService.AuthServiceSoapClient.GetAuthorizationKey(字符串用户名、字符串密码)
在service.Helpers.AuthHelper.GetAuthKey()上
at service.ArchiveService.OnStart(字符串[]args)
客户端上的服务绑定配置如下所示:

安装4.6框架后,它开始正常运行。

安装4.6框架后,它开始正常运行