首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用温莎(3.2.0.0) WcfFacility在ASP.NET MVC3中解析服务错误

使用温莎(3.2.0.0) WcfFacility在ASP.NET MVC3中解析服务错误
EN

Stack Overflow用户
提问于 2013-02-28 14:53:58
回答 1查看 295关注 0票数 0

Castle.Windsor和WcfFacility还在找我的路,但是这个让我抓狂。我希望温莎将WCF客户机注入到它在我的存储库中看到该依赖项的位置。

我在Visual中添加了一个服务引用,并将以下内容添加到我的引导代码中:

代码语言:javascript
复制
  container.AddFacility<WcfFacility>();
    container.Register(
        Component.For<IServiceContract>()
        .AsWcfClient(
            DefaultClientModel.On(
                WcfEndpoint.FromConfiguration("MyEndpoint")
                )
            )
        );

我的web.config包含一个<client>节,其中有一个相应命名的端点:

代码语言:javascript
复制
<client>
  <endpoint address="http://localhost:63988/MyService.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IServiceContract"
    contract="IServiceContract"
    name="MyEndpoint" />
</client>

当我运行我的应用程序时,我会得到一个YSOD:

无法在“IServiceContract客户端配置”部分找到具有名称“service”和契约“ServiceModel”的端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此名称匹配的端点元素。

非常清楚,但是为什么它要寻找一个名为"service“的元素,我的元素名为"MyEndpoint”,我已经正确地传递给了FromConfiguration方法。

如果我将web.config更新为将名称属性从"MyEndpoint“更改为”服务“,那么YSOD就会消失,我的页面就能工作了!

代码语言:javascript
复制
<client>
  <!-- Changing the name attribute to "service" works? -->
  <endpoint address="http://localhost:63988/MyService.svc"
    binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IServiceContract"
    contract="IServiceContract"
    name="service" />
</client>

似乎这个工具忽略了我给它的端点名称?

或者(更可能),我没有正确注册我的服务,而且该工具正在使用一些命名备份。

编辑

看来我的端点名属性是“服务”!在我尝试过的每个测试中,如果属性是任何其他值,我总是得到相同的错误--这是一个错误吗?

干杯

EN

回答 1

Stack Overflow用户

发布于 2013-03-08 08:22:18

好吧-我已经克服了这个问题。

我为一个MVC和一个WCF编写了一个简单的测试工具,并且使用WcfFacility时没有任何问题--这让我有信心它确实能工作;o)。

我使用现有的代码库和重构来使用WcfFacility,所以我绑定了最初的更改,然后重新启动。这一次,我没有任何问题。

我想我一定是错过了web.config中<system.serviceModel>元素中的一些复制--尽管我发誓它是好的!

干杯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15138565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档