gpt4 book ai didi

wcf - 将 WCF 服务添加到子文件夹中

转载 作者:行者123 更新时间:2023-12-04 06:26:14 25 4
gpt4 key购买 nike

我创建了一个新的 wcf4 Web 应用程序并添加了一个新的 wcf 服务。
我创建了一个子文件夹并将创建的服务移动到子文件夹中。

例如

ROOT
ROOT/Business/V1/BusinessV1.svc

我已将该服务部署到我的 IIS7 环境中,但是我不断收到此错误

The type 'MyNameSpace.WebWCF.Business.V1', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.



我的服务文件看起来像这样
<%@ ServiceHost Language="C#" Debug="true" 
Service="MyNameSpace.WebWCF.BusinessV1" CodeBehind="BusinessV1.svc.cs" %>

后面的代码看起来像
namespace MyNameSpace.WebWCF
{
public class BusinessV1 : IBusinessV1
{
}
}

我的契约(Contract)看起来像
namespace MyNameSpace.WebWCF
{
[ServiceContract]
public interface IBusinessV1
}

最后我的 web.config
<system.serviceModel>
<services>
<service name="MyNameSpace.WebWCF.Business_v1">
<endpoint
address="http://mydomain.com/Business/v1/BusinessV1.svc"
binding="basicHttpBinding"
bindingConfiguration=""
contract="MyNameSpace.WebWCF/IBusinessV1"
listenUri="/" isSystemEndpoint="true" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>

有人可以帮我解决我做错了什么吗?这让我疯狂。

最佳答案

有一件事是:您的服务名称不一致。

在您的服务实现类中,您有:

namespace MyNameSpace.WebWCF
{
public class BusinessV1

并在您的 *.svc文件,您具有相同的限定名称:
Service="MyNameSpace.WebWCF.BusinessV1"

但在您的 web.config , 你用:
<service name="MyNameSpace.WebWCF.Business_v1">

您的服务实现是定义服务名称的服务实现 - 使用命名空间完全限定: MyNameSpace.WebWCF.BusinessV1
所以你需要使用这个完全限定的名字 - 和 正好那 - 在您的 *.svc 中文件(好的!)和您的 web.config :
<service name="MyNameSpace.WebWCF.BusinessV1">

使用 MyNameSpace.WebWCF.BusinessV1而不是 MyNameSpace.WebWCF.Business_v1 .

如果该名称不匹配,WCF 运行时将找不到您指定的配置并将回退到系统默认值

关于wcf - 将 WCF 服务添加到子文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6012767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com