此处将为大家介绍关于大数据接收时WCFWeb服务失败的详细内容,并且为您解答有关webservice传输大数据的相关问题,此外,我们还将为您介绍关于.net–不同的WSDLASMX,WCFWeb服务、
此处将为大家介绍关于大数据接收时WCF Web服务失败的详细内容,并且为您解答有关webservice传输大数据的相关问题,此外,我们还将为您介绍关于.net – 不同的WSDL ASMX,WCF Web服务、.net – 处理自托管WCF Web服务中的并发请求、ASP.net Web服务与WCF、asp.net – 与WCF和其他Web服务有什么区别?的有用信息。
本文目录一览:- 大数据接收时WCF Web服务失败(webservice传输大数据)
- .net – 不同的WSDL ASMX,WCF Web服务
- .net – 处理自托管WCF Web服务中的并发请求
- ASP.net Web服务与WCF
- asp.net – 与WCF和其他Web服务有什么区别?
大数据接收时WCF Web服务失败(webservice传输大数据)
<system.serviceModel> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IFormsService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="02:00:00" sendTimeout="00:02:00" allowCookies="false" bypassproxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true"> <readerQuotas maxDepth="32" maxStringContentLength="1000000000" maxArrayLength="1000000000" maxBytesPerRead="4096" maxNaMetableCharCount="16384" /> <security mode="None"> <transport clientCredentialType="None" proxyCredentialType="None" realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default" /> </security> </binding> </basicHttpBinding> </bindings> <client> <endpoint address="http://monica-pc/TrialIQSvc/FormsService.svc/FormsService/FormsService.Svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IFormsService" contract="WebService.IFormsService" name="BasicHttpBinding_IFormsService" /> </client>
========= EXCEPTION DATA =============
**Exception**: An error occurred while receiving the HTTP response to http://monica-pc/TrialIQSvc/FormsService.svc/FormsService/FormsService.Svc. This Could be due to the service endpoint binding not using the HTTP protocol. This Could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details. **Inner Exception**: The underlying connection was closed: An unexpected error occurred on a receive. **Stack trace**: Server stack trace: at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException,HttpWebRequest request,HttpAbortReason abortReason) at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) at System.ServiceModel.Channels.RequestChannel.Request(Message message,TimeSpan timeout) at System.ServiceModel.dispatcher.RequestChannelBinder.Request(Message message,TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action,Boolean oneway,ProxyOperationRuntime operation,Object[] ins,Object[] outs,Object[] outs) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 type) at Test.WebService.IFormsService.GetFormGroupInstance(String formGroupId,String subjectId,String userId) at Test.WebService.FormsServiceClient.GetFormGroupInstance(String formGroupId,String userId) in G:\SVNTrialIQ\trunk\Common\trunk\source\Forms\Test\Service References\WebService\Reference.cs:line 59 at Test.Form1.btnInstanceInfo_Click(Object sender,EventArgs e) in G:\SVNTrialIQ\trunk\Common\trunk\source\Forms\Test\Form1.cs:line 408
解决方法
.net – 不同的WSDL ASMX,WCF Web服务
我尝试来到wcf,并在WCF服务中编写相同的逻辑(basicHttpBinding用于互操作性). (.net客户端消耗正常,但delphi 7无法调用此服务).
我开始研究两种服务(asmx,wcf)之间的差异并检测它们的wsdl是不同的:
WSDL asmx:
<s:element name="Test"> <s:complexType> <s:sequence> <s:element minOccurs="1" maxOccurs="1" name="a" type="s:int"/> </s:sequence> </s:complexType> </s:element> <s:element name="TestResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="TestResult" type="s:string"/> </s:sequence> </s:complexType> </s:element>
wcf的wsdl是相当不同的:
<wsdl:operation name="Test"> <soap:operation soapAction="http://tempuri.org/isyncer/Test"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="ServiceFaultExceptionFault"> <soap:fault name="ServiceFaultExceptionFault" use="literal"/> </wsdl:fault> </wsdl:operation>
我认为delphi无法生成正确的代理是一个共鸣.
我可以配置wcf来生成与asmx相同的wsdl.
谢谢.
解决方法
.net – 处理自托管WCF Web服务中的并发请求
自托管的WCF Web服务将依次调用外部Web服务,因此就像一种外观.
显然,我的自托管WCF Web服务需要接受并发调用,这就是我的问题:我计划在我自己托管的WCF Web服务上从不同客户端调用的操作中,我只是创建客户端外部Web服务,调用外部Web服务,从外部Web服务获得同步响应,然后回复调用客户端.
听起来很简单,但是我需要考虑多个线程进入我的服务主机吗?显然我需要小心主机本身的任何“全局”变量,但如果我只是在被调用的Web服务的不同操作中创建外部Web服务客户端,或者我忽略了什么,我应该保存?
谢谢大家!
干杯,
斯特沃
解决方法
实例:你的选择是
> PerCall:为每个客户端请求创建一个新的InstanceContext(以及服务对象).
> PerSession:为每个新客户端会话创建一个新的InstanceContext(以及服务对象),并在该会话的生命周期内进行维护(这需要一个支持会话的绑定).
> Single:单个InstanceContext(以及服务对象)处理应用程序生命周期内的所有客户端请求.
并发:
> Single:允许每个实例上下文一次在实例上下文中最多具有一个线程处理消息.其他希望使用相同实例上下文的线程必须阻塞,直到原始线程退出实例上下文
> Multiple:每个服务实例可以有多个线程同时处理消息.服务实现必须是线程安全的才能使用此并发模式.
>可重入:每个服务实例一次处理一条消息,但接受可重入的操作调用.该服务仅在通过WCF客户端对象调用时才接受这些调用.
让我们先看看Instancing:
每次呼叫:基本上发生的情况是,如果两个客户端呼叫您的服务,则会创建两个不同的服务实例,然后在呼叫完成后销毁
每个会话:如果这两个客户端通过您的代理分别进行2次调用,则在主机上为这两个调用创建的wcf实例将是相同的(对于每个代理,因此2个实例每个服务2个但每个调用者转到同一个实例),然后毁了
单一:代理/客户端将使用相同的实例,因此调用者1调用操作,然后调用者2进行调用,同一实例将被重用.
挺直的.
就并发性而言,它一次在上述实例上下文中活动的线程数.在这里,我有经验和MSDN,其中指出“理解和开发安全使用多个线程的代码可能难以编写”(但并非不可能)
因此,基于您的要求,似乎您不希望维护状态和可伸缩性可能会引起关注,因为您正在为多个代理调用提供服务,并且您不需要共享任何类型的全局数据,这需要单实例模式,那么最多可能的解决方案是:
[ServiceBehavior (ConcurrencyMode.Single,InstanceContextMode=InstanceContextMode.PerCall)] public class YourService: IYourService { }
ASP.net Web服务与WCF
数据量很小.
.net网络服务是否适合这种场景或者WCF会更适合?
有哪些优点/缺点?
解决方法
asp.net – 与WCF和其他Web服务有什么区别?
解决方法
它允许这样做,因为它将服务的通信部分与业务逻辑分离开来.您需要做的就是使用适当的合同属性([SeriviceContract],[OperationContract]和[DataContract])分别装饰您的服务类,方法和DTO.)
这样做的好处是能够编写一次服务,并允许许多不同类型的客户端使用相同的服务(即Java客户端可以使用HTTP,.NET客户端可以使用TCP,传统可以使用MSMQ等).
WCF仍然允许您使用每个传输的所有功能,包括安全性,事务,可靠的消息传递等,但您需要谨慎使用.并非所有功能都适用于所有传输,您需要进行相应的设计. WCF允许您在合同中指定需要哪些功能.这可以防止somone以不支持所需功能集的方式尝试公开您的服务(即,如果您的服务需要事务,则WCF运行时将不允许通过基本HTTP端点访问服务).
WCF还可以通过自定义行为(它影响WCF运行时的工作方式)和自定义通道(控制WCF服务如何与外部世界通信)进行扩展.
与ASMX相比,WCF有一点学习曲线,但ABSOLUTLY的优势在于延缓了这一学习曲线的重要性.
希望有所帮助.
我们今天的关于大数据接收时WCF Web服务失败和webservice传输大数据的分享已经告一段落,感谢您的关注,如果您想了解更多关于.net – 不同的WSDL ASMX,WCF Web服务、.net – 处理自托管WCF Web服务中的并发请求、ASP.net Web服务与WCF、asp.net – 与WCF和其他Web服务有什么区别?的相关信息,请在本站查询。
本文标签: