问题标签 [wcf-configuration]

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.

0 投票
1 回答
126 浏览

ajax - 将启用 AJAX 的 WCF 服务添加到解决方案会引发错误

我只是想学习启用 Ajax 的 WCF 服务,当我尝试创建一个新的 Web 应用程序并添加新项目“启用 AJAX 的 WCF 服务”时,我收到一条错误消息“类型的扩展 'System.ServiceModel.Configuration.WebScriptEnablingElement , System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 未在扩展集合“behaviorExtensions”中注册。

我有.net2.0/VS2005,然后我安装了VS2008。

0 投票
3 回答
7879 浏览

.net - 使用 allowInsecureTransport=true 的 WCF 服务绑定导致客户端中的更新服务引用失败

这是我在 web.config 中的服务配置:

我设置 allowInsecureTransport=True 因为在生产中服务将在 SSL 终止负载均衡器后面运行。从我的 .Net 4.0 客户端调用服务没有任何问题,但尝试在 VS2010 中更新服务引用总是会导致错误:

System.ServiceModel.Channels.TransportSecurityBindingElement 错误:安全策略导出失败。Binding 包含一个 TransportSecurityBindingElement,但没有实现 ITransportTokenAssertionProvider 的传输安全绑定元素。不支持此类策略导出的策略导出。*

我明白它试图告诉我什么——这基本上是我在绑定上禁用了传输安全性,该绑定要求它避免损害通过网络传输的凭据。但是 - 这就是allowInsecureTransport的重点。难道代理生成器根本不知道这个属性?

更新:

看起来 wsdl 生成器确实无法处理该属性。我不得不回到消息级安全和自签名证书进行开发。使用 Message Security 的优势在于能够坚持使用 Cassini 进行开发,而不是使用成熟的 IIS。

0 投票
1 回答
312 浏览

wcf - WCF - 如何配置站点级 web.config 并使所有服务使用相同的行为配置

我有一个托管 60 多个服务的站点。

使用 wcf 配置的简化版本,我不必指定所有服务及其相应的端点。

问题是我如何指定服务主机以对所有服务端点使用相同的行为配置?

我不想列出 web.config 中的所有端点并在每个端点上指定 behaviorConfiguration。我希望该虚拟目录上托管的所有 wcf 服务都使用相同的行为配置。有什么办法可以做到这一点?

0 投票
3 回答
17502 浏览

.net - 在服务实施的合同列表中找不到 IMetaDataExchange

我在网上搜索了这个错误的解决方法,但我发现的一切都表明我所拥有的都是正确的。

也许有人可以看看并发现一个我看不到的明显错误。

我有一个 Windows 服务,托管两个合同:

  1. 配置服务
  2. IConfigurationAdminService

管理服务继承自标准服务,因为我希望两个合同都实现基本方法。

问题是我可以很好地托管服务,直到我尝试添加 MEX。

然后我得到以下异常:

在服务“ConfigurationWCFService”实施的合同列表中找不到合同名称“IMetaDataExchange”。

这是我的配置,一切都由配置配置,没有通过代码完成。

0 投票
1 回答
1427 浏览

.net - 在不重写应用配置文件的情况下修改服务主机基地址

我正在尝试在启动 WCF 服务主机之前调整主机基地址以向instanceName基地址添加一个:

app.config文件如下所示:

动机:我希望能够在同一台机器上多次运行相同的代理进程。每个实例都有不同的名称(在命令行中给出),应包含在主机基地址中。现在,如果 app.config 根本不包含 baseAddresses 集合,这很容易做到。但是,我希望它存在,以防在没有给出实例名称的情况下运行单个代理进程。

问题是服务主机将其构造函数中给出的基地址与出现在 app.config 中的基地址合并。自然它会因异常而失败,因为它使用 http 方案发现了两个地址。

另外:在尝试根据正在运行的实例修改 WCF 地址时,我是否遵循主流的 WCF 理念?如果我迷失在黑客的迷宫中——请指路回到主干道。

0 投票
2 回答
9842 浏览

.net - 具有 basicHttpBinding 和 netTcpBinding 的 WCF 服务;无法访问 HTTP 端点

我想使用 netTcpBinding 和 basicHttpBinding 提供相同的接口。我还想为两个端点提供 wsdl。当我访问时http://localhost:9876/TestService/,我得到了包含 Tcp 端点信息的 mex 端点http://localhost:9876/TestService/?wsdl,但地址http://localhost:9876/TestService/ws没有响应,我不明白为什么。我有基地址和相对地址。有人可以帮我指出缺少的东西吗?现在,我只是在尝试使用 TestImplementation 服务,而我还没有搞乱 MessaginImplementation 服务。

0 投票
1 回答
955 浏览

wcf - 在 WCF 项目中启动 NHibernate 的简单方法

我想为我的 WCF 项目使用一个 NHibernate 启动模块,就像我用于我的 ASP.NET MVC 项目的那个一样。Jeffery Palermo 在他的帖子ASP.NET MVC HttpModule Registration中概述了我使用的启动模块。本质上,代码归结为在 web.config 中添加一个启动模块,如下所示:

当我尝试使用WCF 测试客户端或使用SoapUI直接针对端点运行服务时,这不起作用。对于 WCF 项目中 NHibernate 的简单启动机制,我有哪些选择?

0 投票
1 回答
5661 浏览

.net - 客户端 app.config 中的 wsHttpBinding 更改为 basicHttpBinding

在 WCF 服务中,我将端点绑定设置为 wsHttpBinding。但是,当我使用 Visual Studio 添加服务引用时,我的客户端 app.config 将绑定显示为 basicHttpBinding。有人知道为什么会这样吗?

我在服务 web.config 中的端点(托管在 IIS 7.5 中)。从 baseAddresses 获取地址

客户端 app.config:

0 投票
3 回答
7617 浏览

c# - 如何在不使用配置文件的情况下以编程方式添加 maxItemsInObjectGraph?

我已经创建了一个这样的 EndpointAddress

但我无法以编程方式将行为添加到此端点。

行为如下:

0 投票
1 回答
13617 浏览

asp.net - 为与多个 Web 服务(一些通过 dll)对话的站点配置 web.config (system.serviceModel)

我有一个由 Web 项目和类库项目组成的解决方案。Web 项目解决方案直接引用 wcf 服务。有第二个 wcf 服务,但它是直接引用它的类库项目。我正在添加类库(输出)作为对我的 Web 项目的引用。

因此,在我的 web 项目的 web.config 中,我现在配置了两个 scf 服务。这个过程很简单,因为我手动将 app.config(system.serviceModel 部分)直接复制到 web.config,然后将 web 项目配置为直接与另一个 wcf 服务通信(直接,而不是通过任何 dll)。

我的 Web 项目需要与第三个 Web 服务 (asmx) 通信。我再次计划将其作为类库引入,并将 dll 包含到我的 Web 项目中。(这是一个单独的解决方案)。当我查看这个特定的类库项目的 app.config 时,我想我只是复制那些必要的部分并将其与我当前的 web.config 相应地合并。

所以对于第 3 个类库项目(它引用 asmx 服务),我碰巧注意到它在绑定节点下有一个名为 basicHttpBinding 的节点,然后是一个 customBinding。然后在客户端节点下方,有两个具有服务属性的端点节点。(我不明白为什么这里首先应该有两个端点)。

因此,我复制了绑定节点下的内容(来自 3rd class lib prj app.config)并将其附加到绑定节点(在 web.config 中)。我也做了类似的复制端点的过程。但是现在当我尝试运行该网站时,我得到一个异常,该异常在初始化soap客户端(asmx服务)时停止:它说它无法确定该合同的端点。

添加 asmx Web 服务之前的 web.config 如下所示:

下面是带有 asmx 服务的项目的服务模型(取自 app.config)

我只是合并了这些部分——这意味着复制了绑定节点下第二个配置中的任何内容,并将其附加到第一个。我为复制端点做了类似的过程。

ps:我不知道为什么第二个配置(asmx)向我显示两个端点?