我正在尝试创建可以通过HTTP和命名管道访问的WCF服务。更改默认配置后(我添加了netNamedPipeBinding和端点),我不能再使用WCF服务了。我的Web.config会出现问题。
修改
我忘了发布我得到的错误:
错误:无法获取元数据 来自http://localhost/WebServices/CreateContent.svc
如果这是您的Windows(R)Communication Foundation服务 有权访问,请检查您是否已启用元数据发布 指定的地址。
的Web.config
<system.serviceModel>
<services>
<service name="Application.WebServices.CreateContent" behaviorConfiguration="behave">
<endpoint binding="basicHttpBinding" bindingConfiguration="basicHttpBinding"
name="basicHttp" contract="Application.WebServices.ICreateContent" />
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="mexHttpBinding"
name="mexHttp" contract="IMetadataExchange" />
<endpoint binding="netNamedPipeBinding" bindingConfiguration="netNamedPipeBinding"
name="netNamedPipe" contract="PTUmbraco.WebServices.ICreateContent" />
<endpoint binding="mexNamedPipeBinding" bindingConfiguration="mexNamedPipeBinding"
name="mexNamedPipe" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="http://localhost/WebServices/CreateContent.svc" />
</baseAddresses>
</host>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="behave">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<bindings>
<basicHttpBinding>
<binding name="basicHttpBinding" maxBufferSize="10485760" maxReceivedMessageSize="10485760" />
</basicHttpBinding>
<netNamedPipeBinding>
<binding name="netNamedPipeBinding" />
</netNamedPipeBinding>
<mexHttpBinding>
<binding name="mexHttpBinding" />
</mexHttpBinding>
<mexNamedPipeBinding>
<binding name="mexNamedPipeBinding" />
</mexNamedPipeBinding>
</bindings>
</system.serviceModel>
答案 0 :(得分:0)
我会尽力回答,因为你没有发布你得到的错误。
您是否检查过您的Net.Pipe侦听器适配器服务是否正常运行?
如果您收到的错误是&#34;由于端点地址的服务不可用于地址协议,因此无法分派邮件,他们可能必须使用 ServiceModel注册来自microsoft的工具,在您的框架文件夹上运行此命令:
C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319&gt; ServiceModelReg.exe -r
我已经遇到过WCF的一些问题,和你一样,认为这是配置问题,但你的配置似乎没问题,所以你可以尝试一下。
这里有关于ServiceModel工具的更多信息: