问题标签 [wcf-proxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - 关于 WCF 代理会话的问题
您知道如何向客户端添加服务引用,然后它会创建这个漂亮的代理,以便您可以在服务器端调用方法吗?像这样的东西:
关于刚刚发生的事情,我有几个问题:
何时建立与服务器的会话?当我添加服务参考时?当我创建代理?或者当我调用该方法时?
如果我要创建另一个
MyServiceClient
实例,它将是我们之前创建的实例的单例副本(代理)还是完全是一个新实例?
c# - 动态更改 WCF 服务的 Reference.cs
我正在开发 WCF 服务(WCFManager),它将向其他服务发送请求并获得响应。为此,我开发了 WCF 服务。
试图完成以下(假设我的服务名称是WCFManager
)
到目前为止我做了什么
- 添加了创建 reference.cs 和 WCF 客户端的服务
Service X
引用WCFManager
。 使用通过添加服务引用生成的 WCF 客户端并
/li>Service X
使用以下代码将请求发送到
我想完成什么
- 我想在 , 的文件中添加一些配置设置,
App.Config
我Service X
这样做了。Service Y
Service Z
- 重用相同的 WCFManagerClient 将请求发送到
Service Y
或Service Z
通过从配置文件中读取端点信息。我的假设是,当我使用WCFManagerClient
发送请求时,它使用在 WCFManager 服务的服务引用中创建的 reference.cs。如果我的假设是真的,我可以在运行时更改 reference.cs 以包含Service Y
绑定信息将请求发送到Service Y
并与Service Z
. 这样我就不必为每个服务创建一个代理。 - 是否可以重用生成的相同 reference.cs 文件,但从配置文件中动态包含绑定信息。3.我无法控制
Service Y
或Service Z
,但我只知道服务端点信息,每个服务的方法名称和架构都是相同的。
如果有人已经使用 WCF 进行了这样的设计,我不确定这在 WCF 中是否可行,但对我的方法的任何建议都值得赞赏。
wcf - WCF 代理转换列表列出>
- >
在我的 WCF web 方法中,我有一个接受字符串数组列表的操作合同,但是当我为此服务创建代理时,它会将其转换为字符串列表列表。
谁能告诉我是否有某种方法可以确保不会发生这种情况,并且我的代理还包含列表
谢谢
vb.net - 加速 WCF 客户端实例化?
假设调用了我的 WCF 客户端接口ISDK
,并且调用了客户端对象本身ISDKClient
,由svcutil
.
当我像这样实例化 WCF 客户端时:
创建第一个客户端大约需要 1.5 秒,随后大约需要 300 毫秒。
如果我使用通道工厂方法:
第一次调用需要 1.5 秒,但随后的调用CreateChannel
几乎是即时的。问题是 中的方法签名ISDK
与下面列出的不同ISDKClient
。ISDK
具有请求/响应模式,而ISDKClient
具有带参数的普通方法。
我可以控制如何svcutil
生成代理文件,以避免接口中的请求/响应方法签名模式吗?根据 MSDN,方法签名应该匹配,即客户端应该为所有调用直接引用其接口(但这不是我的情况):
如果没有,是否可以使用已经存在的通道实例化 WCF 客户端?就像是:
如果没有,是否有任何其他方法可以提高在我的应用程序中实例化新 WCF 客户端的性能?假设所有可用的都是基于 HTTP 的 WCF 服务。
c# - WCF 代理在调用外部 API 后失败
我有一个使用 HttpClient 调用外部 REST API 服务的 Web API 控制器方法。然后,外部 REST 调用的结果通过调用其代理传递给 WCF 服务。
如果我先调用 WCF 代理,然后调用外部 REST 服务,一切都会按预期工作。如果我颠倒调用顺序,WCF 代理调用将失败,因为代理上的 InnerChannel (m_inner_channel = m_channel_factory.CreateChannel()) 为空。
这是一个用于说明目的的示例:
上面的代码有效,但是如果我在调用服务时在 WCF 代理的 InnerChannel (m_inner_channel = m_channel_factory.CreateChannel()) 下面实现代码为空:
如果我如下所示更改调用顺序,它会再次起作用:
谁能帮我确定这里发生了什么?如果我将 ConfigureAwait 值更改为 true,问题仍然存在,因此这不是上下文切换问题。
在同一个服务中有几个 Web API 方法调用上述 WCF 代理没有任何问题,只有在调用 WCF 代理对象之前调用外部服务时才会出现问题。
任何帮助和/或见解将不胜感激。
谢谢你,安德鲁
c# - 在我们应该采用哪种类型的 WCF 代理生成路径之间进行选择?
我是 WCF 服务的新手。我知道生成代理的三种方法。
- 使用服务参考
- 使用 SvcUtil
- 使用客户端库
但我很困惑在哪种情况下我应该使用哪种类型。就我而言,我必须为我没有服务代码的第三方服务生成代理。我不想使用添加服务参考,因为它给了我以下问题。在这个stackoverflow 问题中提到。所以我想使用clientBase。但我认为如果不使用服务参考,我就无法使用它。我很困惑我们什么时候应该选择哪种代理。
c# - 在客户端和服务器之间的每个 WCF 调用中共享常量
在调用 WCF 服务之前,WCF 客户端会计算几个整数常量。我希望这些整数常量在 WCF 服务上可用。请注意,我不希望将它们用作方法参数,因为无论服务中的方法如何,都需要这些常量。对每种方法都使用相同的参数将是多余的。
需要明确的是,客户端在进行 WCF 服务调用之前会保留计算“a”和“b”的值。一旦进行调用,服务就可以在整个调用过程中访问“a”和“b”。这类似于将它们用作方法的参数。这里唯一的区别是,WCF 服务中的每个方法都需要“a”和“b”。因此,与在 WCF 调用中的每个方法中添加“a”和“b”作为参数相比,我更喜欢一个更好的解决方案。
所以,假设我在 WCF 服务中有 3 个方法->
客户端将为每个 WCF 方法调用计算不同的“a”和“b”值。一种解决方案是保持这种格式的方法。
但是,如果可能的话,我想要一个更好的解决方案。
对不起这个长长的问题。
c# - WSDL 混乱——我在参考文献中看到的不是我在 wsdl 文件中看到的
我正在使用这个 wsdl 文件,但是我在我的 c# 参考文件中看到了不同的东西,这些文件是在我添加对它的引用时创建的。例如,EncyrptionClient
在 wsdl 文件中找不到,但在Reference.cs文件中存在。与pingRequest
. 我对以这种方式使用 Web 服务非常不熟悉,所以也许有些基本的东西我根本不知道。我相信 wsdl 文件中的内容将在参考文件中创建,但情况似乎并非如此。
要使用该服务,我所做的只是右键单击项目并选择添加连接的服务,然后使用 WCF 提供程序。
我错过了这个过程呢?
c# - 大型 WCF 代理引用类减慢应用程序启动速度
我尝试加快使用调试器运行应用程序的启动时间。我注意到创建一个类的对象需要大约 1.5 分钟,该对象用作 WCF 服务的代理。该类位于使用“添加服务引用”Visual Studio 工具生成的 reference.cs 中。太糟糕了,它有 72732 行代码,里面有几千个字段。我是 WCF 的新手,我想知道在这里提高性能的最快方法是什么?什么会是,也许不是那么快,但重构它的最佳方法是什么?有小费吗?
wcf - 如何手动创建 wcf 服务故障异常?
我想手动使 wcf 服务通道进入故障状态以测试单例对象。我尝试了很多解决方案,例如更改1.使用错误的服务主机名,2.错误的主机ip,3.减少执行时间以触发超时异常,4.除以零异常,5.抛出错误异常,6.null引用异常
但是没有什么可以使服务通道出现故障。好心劝告。提前致谢