ReganDu
Regan-Hmily-Du
采纳率0%
2019-10-24 19:26 阅读 415

WCF生成的WSDL内容,能否自定义binding的name属性

5

各位大佬,小白请教个问题。。
WCF,生成的wsdl文件,我想自定义下图两个红框中的名字,有办法吗?因为不方便写配置,因此我使用的代码的方式,代码如下:

[ServiceContract(Namespace = "http://ws.substation.com/", Name = "SubstationPlatform"
        , ConfigurationName = "SubstationServiceLib.SubstationPlatform")]
    public interface IDispatchService
        {
            ...
        }

        [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single
        , Namespace = "ws.substation.com", Name = "SubstationPlatformImplService"
        , ConfigurationName = "SubstationServiceLib.SubstationPlatformService")]
    public class DispatchService : IDispatchService
        {
            ...
        }
DispatchService service = new DispatchService(this);
                this._host = new ServiceHost(service, new Uri(this.clientLocalAddr));
                this._host.AddServiceEndpoint(typeof(IDispatchService), new BasicHttpBinding(), new Uri(this.clientLocalAddr));

                ServiceMetadataBehavior metadataBehavior = this._host.Description.Behaviors.Find<ServiceMetadataBehavior>();
                if (metadataBehavior == null)
                {
                    metadataBehavior = new ServiceMetadataBehavior();
                    this._host.Description.Behaviors.Add(metadataBehavior);
                }
                metadataBehavior.HttpGetEnabled = true;
                Binding binding = MetadataExchangeBindings.CreateMexHttpBinding();
                this._host.AddServiceEndpoint(typeof(IMetadataExchange), binding, "mex");

主要是想把自动生成的后缀_SubstationPlatform给去掉,请问有没有方法可以实现呢?谢谢各位大佬了~
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-10-24 22:39

    在配置文件里面,找,有

    <binding name="binding名">
    

    修改为你要的

    点赞 评论 复制链接分享
  • Carrot_H Carrot_H 2019-10-25 11:08

    WSDL源代码里的binding是根据源代码里的 Config配置文件 Or 代码指定 得来的。知道来源了就好改了啊

    点赞 评论 复制链接分享

相关推荐