簡體   English   中英

如何使WCF服務在本地網絡中可用?

[英]How to make WCF service available in a local network?

我是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);
        }
    }
}

如何讓我本地網絡中的某人訪問此服務?

有幾種托管wcf服務的方式(我認為這實際上是在那種情況下發布的意思):

  1. 托管在Internet信息服務(IIS)中
  2. 在Windows激活服務(WAS)中托管
  3. 在控制台或桌面應用程序中托管(自助托管)
  4. 托管Windows服務

如果您的服務不只是測試項目,那么選項1和4通常很有趣;-)

請查看該教程以獲取更多信息: http : //www.codeproject.com/Articles/550796/A-Beginners-Tutorial-on-How-to-Host-a-WCF-Service

是的你可以。 您必須添加具有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>

該人需要為您提供的服務添加服務參考

在這里是: https : //msdn.microsoft.com/en-us/library/bb386386.aspx

您可以將服務托管在本地IIS中,

1在IIS中添加網站並設置內容目錄和端口號

2在內容視圖中,查找帶有.svc擴展名的文件

3瀏覽您的svc文件(確保IIS_IUSRS組可訪問您的文件),這是您的Web服務地址。

4-您網絡中的其他人應右鍵單擊其客戶項目並添加服務參考。

5-他們應該粘貼您的Web服務地址,但是他們應該使用您的IP地址而不是localhost在Web服務地址中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM