我是WCF的新手。我写了一个简单的服务:
namespace WcfService1
{
[ServiceContract]
public interface IService1
{
[OperationContract]
int Add(int a, int b);
}
}
namespace WcfService1
{
public class Service1 : IService1
{
public int Add(int a, int b)
{
return (a + b);
}
}
}
如何让本地网络中的某人访问此服务?
答案 0 :(得分:1)
有几种方法可以托管(我认为发布在该上下文中实际意味着什么)wcf服务:
如果您的服务不仅仅是测试项目,那么选项1和4通常很有趣; - )
请查看该教程以获取更多信息:http://www.codeproject.com/Articles/550796/A-Beginners-Tutorial-on-How-to-Host-a-WCF-Service
答案 1 :(得分:1)
是的,你可以。您必须添加具有netTcpBinding的端点。此外,您必须为netTcp设置元数据行为,并使用net.tcp协议设置地址,如我在下面的代码中发布的那样。
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding>
<security mode="None" />
</binding>
</netTcpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceBehaviour" name="Service.Service1">
<endpoint address="net.tcp://localhost:9009/service1"
binding="netTcpBinding"
contract="Service.IService1" />
<endpoint address="mex"
binding="mexTcpBinding"
contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehaviour">
<serviceMetadata />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
答案 2 :(得分:0)
此人需要为您提供的服务添加服务参考
答案 3 :(得分:0)
您可以在本地IIS中托管您的服务,只需
1 - 在IIS中添加网站并设置内容目录和端口号
2-in内容视图,查找扩展名为.svc的文件
3浏览您的svc文件(确保IIS_IUSRS组可以访问您的文件), 这是您的网络服务地址。
网络中的其他人应该,右键单击他们的客户端项目并添加服务引用。
5 - 他们应该粘贴您的Web服务地址,但是他们应该使用您的IP地址而不是Web服务地址中的localhost。