【问题标题】:How to change WCF contract name?如何更改 WCF 合同名称?
【发布时间】:2012-12-14 17:42:36
【问题描述】:

从宿主项目中,我在哪里更改 WCF 服务正在使用的合同名称?我右键单击项目中的服务引用并选择了属性,这仅显示文件夹名称。我已经进入配置服务,但那里没有任何关于合同的内容。

当我显示项目中的所有文件并打开服务然后 Reference.svcmap > Reference.cs,大约在中间,我看到:

[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(Namespace="http://mysite.com/services/", ConfigurationName="MyServiceReference.IMyService")]
public interface IMyService {

ConfigurationName 是出现在 app.config/web.config 中的合同名称。但这可能不是更新它的正确位置。有什么建议吗?

【问题讨论】:

    标签: c# .net visual-studio-2010 wcf


    【解决方案1】:

    您可以在定义服务的位置指定配置名称。就像在地图上一样:

    [ServiceContract(ConfigurationName="NewName")]
    public interface IMyService {
        ...
    }
    

    【讨论】:

    • 我在项目的任何地方都没有看到 [ServiceContract(ConfigurationName=" 。你指的是哪个文件?
    • ServiceContract 应该是 WCF 服务中接口上的一个属性。可能未在其上设置 ConfigurationName。他建议你把它放在那里。
    • 您在项目中的任何地方都有 [ServiceContract] 吗?你能展示一些你在哪里定义了你的服务合同接口的源代码吗?
    • 我没有您显示的文字。只有我在上面发布的内容,我认为与您的相同,除了我的是 System.ServiceModel.ServiceContractAttribute(Namespace=
    • 这是您自己的服务还是您使用别人的服务?
    猜你喜欢
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 2019-07-19
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多