问题标签 [wcfserviceclient]
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 - 初学者 Windows 服务/WCF 和前端 GUI 实现问题
我正在尝试找出处理此设计的最佳方法......这是我正在尝试做的一些背景:
我有一个简单的数字 I/O 控制器,可以通过以太网将数据发送到我的计算机。我有一个程序可以通过以太网接收这些数据。我想要一个单独的前端应用程序,在 GUI 中呈现这些数据。我试图找出连接通过以太网获取 I/O 数据的程序以及将其显示为前端的程序的最佳方式。每当计算机启动并在后台不断轮询 I/O 时,该接口都应该运行。
我已经阅读了有关 Windows Communication Foundation (WCF) 的信息,这似乎是一个不错的方法。由于 Windows 服务会悄悄地轮询 I/O,并且任何连接到 WCF 接口的客户端都可以在 GUI 中呈现这些数据。
我对这一切都错了吗?这似乎是做事的好方法吗?我的前端客户端将如何从 WCF 服务中获取数据?
先感谢您。
wcf - 如何启用单向方法的可靠性?
关于单向调用、回调和事件您需要了解的内容一文讲述:
客户端不关心调用结果的事实并不意味着客户端根本不关心调用是否发生。一般来说,你应该为你的服务开启可靠性,即使是单向调用
我试图找到如何启用可靠性,但没有发现任何有意义的东西。
请你帮助我好吗:
- 如何启用可靠性?
- 如何检查单向方法是否到达服务器?
非常感谢!
wcf - WCF - 客户端是否必须具有与端点相同的行为?
我有以下 WCF 端点配置:
这是我的客户端配置:
我正在动态进行 Web 服务调用,提供不同的地址:
当我调用端点时,我收到以下错误消息:
{“由于 EndpointDispatcher 的 ContractFilter 不匹配,接收方无法处理带有 Action 'http://IMyService/CreateContainer' 的消息。这可能是由于合约不匹配(发送方和接收方之间的操作不匹配)或发送方和接收方之间的绑定/安全不匹配。检查发送方和接收方是否具有相同的合同和相同的绑定(包括安全要求,例如消息、传输、无)。"}
这可能是因为我的客户端没有与端点相同的 serviceBehavior 吗?还有什么我可以错过的吗?
谢谢!
wcf - Silverlight 4 和 WCF 服务之间的安全数据传输
背景
因此,在我的 WCF 服务上摸索 wsHttpBinding 之后,我发现 Silverlight 不支持它!在考虑通过在服务端和客户端都解密的线路上发送加密数据后,我认为这可能是一个性能问题。另外,我不确定这是否是做事的好方法。
以 silverlight 应用程序的登录页面场景为例,我什至认为我可以在 aspx 端进行登录,然后在成功验证后我可以重定向到托管 Silverlight 应用程序的页面。这里的问题是,一旦将 xap 下载到客户端,它就可以从浏览器运行,从而完全绕过 aspx 登录页面。
问题
如果我想在 silverlight 客户端和 wcf 服务之间安全地传输数据,我有哪些选择?我不希望线路上的任何数据对任何潜在的线路嗅探器或任何东西都有用。
wcf - 从服务调用方法时 WCF 客户端冻结
我有一个奇怪的问题,当我的客户端从我的 WCF 服务调用方法时,它会挂起。现在真正奇怪的是,当客户端是控制台应用程序时,这不会发生。当客户端是 WinForm 或 WPF 应用程序时,它确实会发生。
我创建了一个客户端库,WCF 客户端可以使用它来连接到服务,如下所示:
这是工作WCF 控制台客户端的代码:
这是冻结的 WPF 客户端的代码(见评论)
我进入了代码DCCClient.Proxy.DCCInitialize();
,服务成功执行了命令,但是,由于某种原因,客户端卡在这里并且无法继续执行。客户端没有给出异常,并且堆栈跟踪显示[外部代码]。
话虽如此,控制台客户端运行良好。我想我在这里遗漏了一些简单的东西。感谢您提供的任何帮助。
wcf - WCF 在代码中动态设置 Endpoint 和 Binding
是的,我已经阅读了 SO、MSDN 和其他网站上的其他问题,但没有找到我能理解的清晰答案。我需要将我的 Silverlight 应用程序的 WCF 引用设置为相对于它从中加载的站点,但我无法让它工作。服务本身没有问题,它正在工作。当我从本地移动到我的真实服务器时,我的 SL 应用程序中出现错误,抱怨没有连接到本地主机。
这是我的ServiceReferences.ClientConfig
文件:
是的,我将优化缓冲区/消息大小,并且我知道可能的 DoS 漏洞,暂时忘记它,我需要它们来传输大文件。我尝试的一种方法是在实例化客户端时,我使用了以下代码:
我自己的方法在哪里Settings.Host
返回给我运行 SL 应用程序的主机,经过测试,工作正常。当我上传我的 XAP 并尝试时,它仍然想去http://localhost:60322/AccountManager.svc
,经过进一步调查,我意识到在看不见的文件中仍然有很多对 localhost 的引用:
AccountManager.disco
:
部分AccountManager.wsdl
:
... <wsdl:import namespace="" location="http://localhost:60322/AccountManager.svc?wsdl=wsdl0" />...
...[大量操作声明]...
部分AccountManager1.xsd
:
<xs:import schemaLocation="http://localhost:60322/AccountManager.svc?xsd=xsd2" namespace="http://schemas.datacontract.org/2004/07/Leftouch.Data.Summary" />
部分configuration.svcinfo
:
部分Reference.svcmap
:
..所有这些也适用于其他 2 项服务。
我不是 Web 服务/绑定/端点/操作合同或任何相关内容的大师。我只是想让我已经很好工作(当 URI 被硬编码时)系统为相对 URI 工作,这就是我所需要的。必须有一个简单的解决方案。有人可以解释一下这些文件类型和声明到底是什么样的,哪些是重要的,哪些是可选的,以及如何以最干净的形式创建动态服务引用。请附上解释。我已经看过很多关于动态服务绑定和引用的帖子和文章,但老实说,一切都搞砸了,我最终什么都不懂。欢迎任何建设性的批评和解决方案。
c# - 将 WCF 服务引用添加到多个项目
几个非常基本的问题。我是 WCF 的新手,我正在构建一个应用程序,它有一个服务项目、一个 Web 应用程序项目和一些用于业务逻辑等的类库项目。
我在我的 IIS 上本地托管 WCF 并尝试向项目添加服务引用。
问题 1.添加引用时,我应该为每个项目单独添加服务引用还是有办法在项目之间共享相同的服务引用?
我问的原因是因为如果我添加单独的引用,每个引用都有自己的命名空间,当我必须在项目之间传递相同的对象时,我会得到一个 InvalidCastException,因为每个 ServiceClient 都有不同的命名空间。
示例 - Site.Business.XDataService.XDataServiceClient().GetItem() 与 Site.Web.XDataService.XDataServiceClient().GetItem() 不同
问题2.我在实现Service接口的类中指定了本地服务的地址如下-
[ServiceBehavior(Namespace = "http://localhost:801/XDataService.svc", IncludeExceptionDetailInFaults = true)]
这似乎不对。如果我将代码移动到不同的/实时环境,我显然必须再次更改这部分并重新编译。我在哪里可以指定这个(Web.Config?),这样我就可以更改这个地址而不必重建我的应用程序?
欣赏任何形式的洞察力。谢谢!
wcf - 带有 ASP.Net 的 WCF 服务
我是 WCF 的新手。
我在下面编写了以下服务,运行良好。然后我配置了 IIS,并通过浏览器http://localhost/WCF_Entity_SVC/ProductService.svc运行服务,运行良好。我创建了一个 ASP.Net 网页并使用 url 添加了一个服务引用。当我运行 ASP 页面时,我收到一个内部错误。任何帮助表示赞赏。
ASP 代码
将调试添加到 webconfig 会显示以下错误:
出于调试目的,我向服务添加了一个名为 Getparams(int id) 的函数,该函数所做的只是返回 id。我在 ASp 页面中调用了 Getparams 函数,并取回了传递的参数。我认为这意味着 GetProduct 函数中的参数正在传递给服务,并且在实体查询的链接中的某处是错误。
我不明白的是为什么当我直接运行服务时,没有错误。数据库给了我一个结果
我做了一些更多的调试,我发现打开错误的原因是:
sqlError: IIS AppPool\ASP.Net4 登录失败
我该如何解决这个问题,我的 sqlserver 通过 Windows 身份验证运行。
我在 msdn 中找到了一个修复安全问题的脚本,并且该代码可以正常工作
wcf - 服务类所需的 WCF 解决方案
我有一个班级引发一些事件并进行操作。例如
这是一个控制台应用程序,它将在系统启动时启动。现在,当事件服务上触发某些事件时,我们需要一个监控应用程序(基本上是一个带有回调的客户端),为此我们应该使用 WCF。并且监视器应用程序调用服务类。在上面的例子中,GetStatusForMessage 方法将被监视器应用程序调用。那么现在我们如何使用 WCF 来实现。如果使用服务契约将上述类作为服务,则在客户端发起调用之前,它不会被初始化和启动。当系统重新启动时,此类对象将被初始化并启动其功能。
我发现这篇文章http://msdn.microsoft.com/en-us/magazine/cc163537.aspx。通过这种方法,我的服务将成为发布者客户端,监控应用程序将成为订阅者客户端应用程序。但是客户端必须调用服务类。所以我的客户端应用程序应该支持回调并且它应该能够调用服务方法。如何使用 WCF 实现这一目标?请注意,监视事件的服务类是单个实例,并在应用程序启动时初始化。
希望我能得到解决方案。请让我知道更多说明。
c# - 创建 wcf 客户端帮助
我目前正在开发一个 WCF 客户端来与一组 WCF 服务引用进行交互。我正在用 c# 开发。
我不想遵循必须使用 svc util 生成服务引用或手动将服务引用添加到我的类库的方法。
我还有其他选择吗?我正在考虑在 ServiceModel 库中使用 ServiceClient 类。
不过,我有点困惑,例如与端点相关的请求和响应对象,它们是在哪里创建的或如何创建的?在之前的项目中,我使用了 T4 映射和 DTO,但我觉得这些都太过分了。我确实喜欢我可以在不同的服务端点之间共享同一个对象。我的目标是创建一个通过自定义编写代理进行通信的自定义客户端对象。我想对此有所了解。