wcf之当我在浏览器中输入 url 时,自托管 WCF 服务不起作用
zfyouxi
阅读:43
2024-02-06 11:00:25
评论:0
我是 WCF 的新手。我做了一个简单的自托管服务并添加了app.config
但是当我在浏览器中输入地址时,它没有显示我们创建服务时获得的服务页面http://localhost:8067/WCFService
它没有像我们运行服务时显示的那样显示服务。
但是当我尝试在 public static void main
中添加基础服务时而不是 app.config
它工作正常m没有得到yy??谁能帮帮我吗?
以下是app.config
文件手动添加:
<configuration>
<system.serviceModel>
<services>
<service name="SelfHostedWCFService.WCFService">
<endpoint
address="http://localhost:8067/WCFService"
binding="wsHttpBinding"
contract="SelfHostedWCFService.IWCFService">
</endpoint>
</service>
</services>
</system.serviceModel>
</configuration>
以下是
Program.cs
:
static void Main(string[] args)
{
ServiceHost host = new ServiceHost(typeof(SelfHostedWCFService.WCFService));
host.Open();
Console.WriteLine("Server is Running...............");
Console.ReadLine();
}
以下是手动添加的接口(interface)文件:
namespace SelfHostedWCFService
{
[ServiceContract]
interface IWCFService
{
[OperationContract]
int Add(int a, int b);
[OperationContract]
int Sub(int a, int b);
[OperationContract]
int Mul(int a, int b);
}
}
以下是
service.cs
文件手动添加:
namespace SelfHostedWCFService
{
class WCFService:IWCFService
{
public int Add(int a, int b) { return (a + b); }
public int Sub(int a, int b) { return (a - b); }
public int Mul(int a, int b) { return (a * b); }
}
}
我的
app.config
有问题吗?还是其他概念??
请您参考如下方法:
乍一看一切似乎都很好 - 你是 确定 服务没有运行??
如果没有发布任何元数据,您将无法使用 WCF Test Client 测试服务,也不能为它生成客户端代理......
因此,我建议将服务元数据发布添加到您的服务中,这样做,我能够测试您的代码并且它完美地工作。
要添加元数据,请将您的配置更改为:
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="Metadata">
<serviceMetadata />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service name="SelfHostedWCFService.WCFService" behaviorConfiguration="Metadata">
<endpoint
address="http://localhost:8067/WCFService"
binding="wsHttpBinding"
contract="SelfHostedWCFService.IWCFService" />
<endpoint address="http://localhost:8067/WCFService/mex"
binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
</configuration>
即使使用此配置,导航到 URL 时也不会看到任何服务页面 - 但服务已启动并正在运行 - 只需使用 WCF Test Client亲眼看看!
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。