草庐IT

c# - (尝试)从 WSE 3.0 迁移到 WCF 以获取客户端代码

为此,我在网上找遍了。我一直在做这件事,但我尝试使用其Web服务的供应商拒绝正式支持WCF作为一种使用方法。我不是Web服务专家,所以我会尽我所能在最初的帖子中记录和解释,但无论如何,如果您需要更多信息,请索取更多信息,希望我能够提供任何信息是必要的。服务在我的公司,我们使用公开服务的供应商应用程序。该应用程序是用java编写的,看起来wsdl是使用ApacheAxis1.2创建的。代码我的遗留代码使用WSE3.0。特别是,它使用了在末尾自动添加“WSE”的代理类。这使我可以使用更简单的身份验证方案(这是我让它工作的唯一方法)。我不需要使用证书。我使用SecurityPolicyAss

c# - 如何使用 Visual Studio - 生成异步 WCF 调用?

我的OperationContract:publicListGetMessages(){Listmessages=newList();foreach(Messagemin_context.Messages.ToList()){messages.Add(newMessageDTO(){MessageID=m.MessageID,Content=m.Content,Date=m.Date,HasAttachments=m.HasAttachments,MailingListID=(int)m.MailingListID,SenderID=(int)m.SenderID,Subject=m.

c# - WCF 和多个主机头

我的雇主网站有多个主机名,它们都访问同一台服务器,我们只是出于品牌目的展示不同的皮肤。不幸的是,WCF在这种情况下似乎无法正常工作。我试过了overridingthedefaulthostwithacustomhostfactory.这不是一个可接受的解决方案,因为它需要在所有主机上工作,而不仅仅是一台。我也看过thisblogpost但要么我无法让它工作,要么它不能解决我的问题。我得到的错误是“这个集合已经包含一个带有方案http的地址”必须有一种配置方法,请帮忙:) 最佳答案 如果您没有在端点中放置一个地址,那么它应该解析为任何

c# - 没有 ASP.NET AJAX 的 JQuery/WCF :

当WCF被很好地配置并且jQuery正在很好地构建它的请求/理解响应时,我正在努力获得那个“神奇”的时刻。我有一个服务:这是男人推荐的RickStrahl以避免必须在Web.config中定义行为。我的WCF服务接口(interface)位于另一个程序集中:namespacexxx.yyy.WCF.Data{[ServiceContract(Namespace="yyyWCF")]publicinterfaceIClientBroker{[OperationContract][WebInvoke(Method="POST",BodyStyle=WebMessageBodyStyle.W

c# - WCF:如何阻止 myServiceHost.Close() 处理 myServiceHost 对象?

显然Close和Dispose实际上是一样的。我希望能够关闭和打开我的ServiceHost实例,而不必每次都重新实例化它。有任何想法吗?谢谢。 最佳答案 ServiceHost.Close实际上与Dispose()相同。一般来说,对于所有具有Close()方法的类型都是如此-Dispose()是根据Close()实现的.仅供引用-ServiceHostBase通过以下方式显式实现Dispose():voidIDisposable.Dispose(){base.Close();}这实际上意味着当您关闭ServiceHost时,您将始

c# - 通过 GET 将数组传递给 WCF 服务

我有一个要针对WCFGET服务运行的AJAX调用。基本上,对服务的调用(通过jquery)如下所示:$.get(serviceEndpoint,{query:"somesearchtext",statusTypes:[1,2]},function(result){/*dosomething*/},'text');当此调用运行时,我看到firebug中的GET正确通过,并且我确实到达了端点。但是,参数statusTypes始终为null。jquery中的GET本身看起来像是经过编码的,但是当我不对括号进行编码时,调用根本不会进入端点:http://localhost/Services/S

c# - 如何使用 JSON 从 WCF REST 服务返回 Base64 编码的字节数组?

我有一个简单的WCFREST方法,它将返回字节数组中的图像/文件/等:[OperationContract][WebGet(UriTemplate="TestMethod")]byte[]TestMethod();服务契约绑定(bind)到具有以下行为的webHttpBinding:该方法工作正常,除了字节数组的格式如下:[25,15,23,64,6,5,2,33,12,124,221,42,15,64,142,78,3,23]如果我删除属性defaultOutgoingResponseFormat="Json",该服务默认为XML格式,并且结果在Base64中编码如下:GQ8XQAY

c# - 我可以在本地调用自承载 WCF 服务中的方法吗?

我有一个WCF服务契约(Contract),它基本上是发布订阅者模式。WCF服务托管在我要从中发布的Windows服务中。客户端订阅消息,当Windows服务执行某些操作时它会发布给所有客户端。为了托管服务,我声明了一个ServiceHost类,并且Contract类有一个方法,该方法未在接口(interface)中标记但在要发布的类中实现。我希望能够在本地调用此方法(不通过WCF),然后通过回调发布消息。我似乎无法从ServiceHost获取Contract类的实例。这可能吗?如果可能的话怎么办?我知道解决方法是在服务中也内置一个客户端,但创建一个连接到自身的客户端似乎有点奇怪。提前

c# - wcf json 网络服务

创建JSON网络服务的最佳方式是什么?我们有另一个使用Java的团队,他们坚持使用JSON完成所有通信。我宁愿使用WCF而不是任何第3方框架。我找到了这个博客:http://www.west-wind.com/weblog/posts/164419.aspx,它表明Microsoft的实现存在M$特定废话的缺陷。 最佳答案 如果您使用WCF和3.5框架,那就再简单不过了。当您使用WebGet属性标记OperationContracts时,只需将ResponseFormat参数设置为WebMessageFormat.Json。当以RE

c# - WCF Windows 服务 - 长操作/回调调用模块

我有一个Windows服务,它获取一堆文件的名称并对它们进行操作(压缩/解压缩、更新数据库等)。这些操作可能需要一些时间,具体取决于发送到服务的文件的大小和数量。(1)向该服务发送请求的模块等待文件处理完毕。我想知道是否有一种方法可以在服务中提供回调,在完成文件处理后通知调用模块。请注意,多个模块可以一次调用该服务来处理文件,因此我猜该服务将需要提供某种类型的TaskId。(2)如果一个服务方法被调用并正在运行,并且对同一个服务进行了另一个调用,那么将如何处理该调用(我认为只有一个线程与该服务相关联)。我已经看到,当服务在处理方法时花费时间时,与服务关联的线程开始增加。