精华内容
下载资源
问答
  • WCF服务学习1,2WCF服务学习1,2WCF服务学习1,2WCF服务学习1,2WCF服务学习1,2WCF服务学习1,2
  • 自己用WCF做的一个简单例子WCF服务例题WCF服务例题WCF服务例题WCF服务例题WCF服务例题WCF服务例题
  • WCF服务编程

    2018-02-27 11:51:32
    WCF服务编程WCF服务编程WCF服务编程WCF服务编程WCF服务编程
  • WCF SERVICE PROGRAMMING
  • WCF服务

    2017-09-12 21:44:39
    什么是WCF Windows Communication Foundation(WCF)是由微软研发的一组数据... WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。  WCF合并了Web服务、.net Remoting

    什么是WCF

    Windows Communication
    Foundation(WCF)是由微软研发的一组数据通信的应用程序开发接口,它是.NET框架的一部分。由 .NET Framework
    3.0 开始引入。

      
      WCF的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。
      WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在Visual Studio中,专门用于面向服务开发。

    Demo

    1.新建WCF服务应用程序

    2.删除系统生成的两个文件IService1.cs与Service1.svc。

    3.添加自定义的WCF服务文件——User.svc,此时vs2010会自动生成WCF接口文件IUser.cs.

    4.在IUser中定义WCF方法PrintName,在User.svc.cs对该接口的方法进行实现。

    using System.ServiceModel;
    
    namespace WCFService
    {
        [ServiceContract] //定义服务契约,表示该接口可以被外部调用
        public interface IUser
        {
            [OperationContract] //操作契约,表示该方法可以被外部调用
            string PrintName(string name);
        }
    }
    
    
    namespace WCFService
    {
        public class User : IUser
        {
            public string PrintName(string name)
            {
                string resName = string.Format("WCF服务demo,Name:{0}", name);
                return resName;
            }
        }
    }

    5.F5可以在WCF测试客户端打开该服务,也可以在IIS中创建该服务。

    6.像发布网站一样在IIS中发布该服务
    WCF服务

    7.新建一个Web Form项目命名为“WCFClient”,添加一个asp.Net页面Test.aspx

    8.在WCFClient项目中添加IIS中发布的WCF服务的引用。

    9.在Test.aspx页面中添加以下代码:

    <form id="form1" runat="server">
         <asp:TextBox ID="txtName" runat="server"></asp:TextBox><br />
        <asp:Button ID="submit" runat="server" Text="请输入Name" OnClick="btnClick" />
    </form>

    10.在Test.aspx后台添加点击事件代码

    protected void btnClick(object sender, EventArgs e)
            {
                UserClient user = new UserClient();
                string result = user.PrintName(this.txtName.Text);
                Response.Write(result);
            }

    11.F5运行打开Test.aspx页面,输入Name:“Mark”,即可在页面显示:

    WCF服务demo,Name:Mark

    服务调用成功。

    通信过程

    WCF能够建立一个跨平台的安全、可信赖、事务性的解决方案,是一个WebService,.Net Remoting,Enterprise Service,WSE,MSMQ的并集。

    技术对比

    技术对比表

    WCF中的 Endpoint(终结点)

    Endpoint = “A”+”B”+”C”

    1. A(Address):”地址”。这是一个URI地址标识,通过这个地址可以找到要调用的WCF服务。

    2. B(Binding):”绑定”。 Binding实现在Client和Service通信的所有底层细节。如:通信采用的编码(XML?Text?二进制?)、采用的传输协议(TCP?Http?)、采用的解决安全问题的机制(SSL?加密?)

    3. C(Contract):”契约”。 Contract暴露某个WCF 服务所提供的所有有效的方法。

    配置文件

    服务端的config

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    
      <appSettings>
        <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
      </appSettings>
      <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5"/>
      </system.web>
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior>          
              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>    
              <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <protocolMapping>
            <add binding="basicHttpsBinding" scheme="https" />
        </protocolMapping>    
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
      </system.serviceModel>
      <system.webServer>
        <modules runAllManagedModulesForAllRequests="true"/>
        <directoryBrowse enabled="true"/>
      </system.webServer>
    </configuration>

    客户端的config

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <system.web>
          <compilation debug="true" targetFramework="4.5" />
          <httpRuntime targetFramework="4.5" />
        </system.web>
    
        <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="BasicHttpBinding_IUser" />
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="http://localhost:8020/User.svc" binding="basicHttpBinding"
                    bindingConfiguration="BasicHttpBinding_IUser" contract="WCFService.IUser"
                    name="BasicHttpBinding_IUser" />
            </client>
        </system.serviceModel>
    </configuration>

    为何客户端有endpoint节点,而服务端没有该节点呢?

    答案是:我们把WCF寄宿在IIS上,而IIS默认监听的就是Http协议——[B确定了]并且地址也是相对于IIS上的文件地址——[A确定了],契约就更不用说了,找到User.svc什么都有了——[C确定了],所以在服务端就没有必要显示的写出endpoint节点。
    服务器端的endpoint确定了,客户端的endpoint自然要和服务端去对应,所以IDE在生成客户端的配置文件里endpoint写的很详细的,而服务端却没有endpoint。

    WCF宿主

    WCF本身不能够独自运行,WCF在运行时必寄宿在“宿主程序”之上

    WCF的宿主:可以是 Windows 服务、COM+应用程序、WAS(Windows Activation Services,Windows进程激活服务)、IIS、Windows应用程序,或简单的控制台应用程序及任何.net程序。

    WCF服务应用程序与WCF服务库

    WCF服务应用程序:是一个可以执行的程序,它有独立的进程,WCF服务类契约的定义,可以直接看到运行的效果,此项目模板基于IIS托管的程序。

    WCF服务库:可以认为是一个包含WCF服务以及契约定义的类库。不能直接运行,但可以在其他项目里引用,有点类似于在Web项目中应用的类库。

    控制台宿主

    (1)WCF 服务类库(WCFLibrary),和创建WCF服务应用程序过程差不多。

    (2)在解决方案下新建控制台输出项目 WCFConsole。

    (3)添加 System.ServiceModel.dll 的引用。

    (4)添加 WCF 服务类库(WCFLibrary)的项目引用。

    using System;
    using WCFLibrary;
    using System.ServiceModel;
    using System.ServiceModel.Description;
    
    namespace WCFConsole
    {
        class Program
        {
            static void Main(string[] args)
            {
                //创建宿主的地址
                Uri baseAddress = new Uri("http://localhost:8010/User");
                //创建宿主
                using (ServiceHost host = new ServiceHost(typeof(User), baseAddress))
                {
                    //向宿主中添加终结点
                    host.AddServiceEndpoint(typeof(IUser), new WSHttpBinding(), "");
                    //将HttpGetEnabled属性设置为true
                    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
                    smb.HttpGetEnabled = true;
                    //将行为添加到Behaviors中
                    host.Description.Behaviors.Add(smb);
                    //打开宿主
                    host.Open();
                    Console.WriteLine("开启WCF的HTTP监听...");
                    Console.ReadLine();
                    host.Close();
                }
            }
        }
    }

    至此,控制台宿主创建完毕,他和IIS宿主功能一样,这样客户端就可以通过添加服务引用来使用WCF服务了。

    winform宿主

    (1)新建Windows窗体应用程序项目 WCForm。

    (2)添加 System.ServiceModel.dll 的引用。

    (3)添加 WCF 服务类库(WCFLibrary)的项目引用。

    (4)添加应用程序配置文件App.config。

    (5)创建宿主程序MainForm窗体,并修改App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.serviceModel>
        <services>
          <service name="WCFLibrary.User">
            <host>
              <baseAddresses>
                <add baseAddress="http://localhost:8010/User"/>
              </baseAddresses>
            </host>
            <endpoint address="" binding="wsHttpBinding" contract="WCFLibrary.IUser"></endpoint>
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior>
              <serviceMetadata httpGetEnabled="True"/>
              <serviceDebug includeExceptionDetailInFaults="False"/>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>
    </configuration>

    (6)winform后台代码

    using System;
    using WCFLibrary;
    using System.ServiceModel;
    using System.Windows.Forms;
    using System.Configuration;
    
    namespace WCFForm
    {
        public partial class MainForm : Form
        {
            ServiceHost host;
    
            public MainForm()
            {
                InitializeComponent();
            }
    
            //应用程序加载
            private void MainForm_Load(object sender, EventArgs e)
            {
                host = new ServiceHost(typeof(User));
                //打开宿主
                host.Open();
                this.lblState.Text = "启动WCF的HTTP监听....";
            }
    
            //应用程序关闭
            private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
            {
                host.Close();
                this.lblState.Text = "关闭WCF的HTTP监听....";
            }
        }
    }
    展开全文
  • JS调用WCF服务实例(WCF服务宿主到控制台),解决Js跨域调用问题 源码实例 wcf宿主到控制台上,并内置js调用服务的源码
  • 最近做Silverlight,Windows Phone应用移植到Windows 8平台,IIS8中测试一些传统WCF服务应用,发现IIS8不支持WCF服务svc请求,后来发现IIS8缺少对WCF服务的Managed Handler,按照以下步骤添加后,IIS8即支持WCF...
  • wcf实用例子包含2中方式,分别是iis版本和windows服务版本,很实用
  • Web服务和WCF服务

    2010-03-25 13:06:42
    Web服务和WCF服务 Web服务和WCF服务
  • WCF服务实例

    2013-03-16 22:14:11
    一个简单的ASP.NET+WCF服务实例,相信对你学会使用WCF服务大有帮助
  • WCF服务建立

    2014-04-25 23:20:20
    这是一个WCF建立服务的小程序例子,通过这个程序就能理解契约和WCF服务的基本要点
  • WCF 服务 资料

    2015-06-05 14:43:00
    WCF 服务 资料,学习资料,希望对大家有帮助
  • WCF服务编程09

    2011-09-16 11:07:28
    WCF服务编程09WCF服务编程09WCF服务编程09WCF服务编程09WCF服务编程09WCF服务编程09WCF服务编程09
  • 【WCF】WCF服务库和WCF服务应用程序的区别

    千次阅读 热门讨论 2019-02-15 10:42:43
    WCF服务WCF服务库可以认为是一个包含WCF服务以及契约定义的类库。这里的库不能直接运行,需要一个程序来引用并托管它。也就是说,你可以其他项目里引用,宿主里启用托管这个库。 WCF应用程序 WCF应用程序...

    WCF服务库

    WCF服务库可以认为是一个包含WCF服务以及契约定义的类库。这里的库不能直接运行,需要一个程序来引用并托管它。也就是说,你可以在其他项目里引用,在宿主里启用托管这个库。

    WCF应用程序


    WCF应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定义,可以直接看到运行的效果。此项目模板应该是基于IIS托管的程序。


    WCF服务库一般考虑WCF服务设计的时候,服务类的定义为单独的库,可以为其它项目使用。提高代码的复用性。
    WCF应用程序在开发基于IIS托管的WCF服务程序时,比较多见,自学的时候也可以使用这种类型。(我就是使用的这种类型)


    当然你也可以修改这些代码,比如把WCF服务程序里的类,移到一个单独的类库里。
    应用程序是有Main函数的 服务库其实就是个函数集合


    类库只是类的集合,不能单独运行。

    WCF服务程序项目是可以直接托管执行的,svc文件属于WCF服务的特定文件扩展名,IIS里有对应的处理程序。

    展开全文
  • 会上讨论了具体的业务逻辑,我忽然发现这个WCF服务需要实现的代码中再调用另一个WCF服务。我的妈呀!没遇见过这样的啊! 好吧,想想不是不能够实现,但是还需要具体实贱一下,下面是实践的过程。 如果位大佬...

    昨天项目组开会需要分配一下具体的任务,热后组长分给我一个WCF服务的接口开发,说是内部调用。会上讨论了具体的业务逻辑,我忽然发现这个WCF服务需要在实现的代码中再调用另一个WCF服务。我的妈呀!没遇见过这样的啊!
    好吧,想想不是不能够实现,但是还需要具体实贱一下,下面是实践的过程。
    如果哪位大佬看见了,有好的解决方案可以指教一下。先谢过。
    首先得有俩个WCF服务和寄宿分别是基于http协议的和netTcp协议的。当然协议无关紧要。
    1、第一个服务程序正常写就可以。第一个宿主的配置文件(也是正常的)

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
        </startup>
        <system.serviceModel>
          <bindings >
            <netTcpBinding >
              <binding name="nettcp">
               </binding>
            </netTcpBinding>
          </bindings>
          <behaviors>
            <serviceBehaviors>
              <behavior name="beh">
                <serviceDebug includeExceptionDetailInFaults="true"/>
                <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:2305/"/>
              </behavior>
            </serviceBehaviors>
          </behaviors>
          <services>
            <service name="ConsoleApplication6.Program" behaviorConfiguration="beh">
              <endpoint address="net.tcp://localhost:2303/ConsoleApplication6/Program" binding="netTcpBinding" bindingConfiguration="nettcp" contract="ConsoleApplication6.Interface1" />
    
              <endpoint address="net.tcp://localhost:2303/ConsoleApplication6/Program/mex" binding="mexTcpBinding" contract="IMetadataExchange"/>
    
            </service>
    
          </services>
    
            <client />
    
        </system.serviceModel>
    
    </configuration>

    2、接下来我们的第二个WCF服务的实现代码中要调用第一个WCF服务。
    过程添加服务引用,在代码中实例化一个客户端类然后正常的调用方法如下代码

    public class Service1 : IService1//实现契约接口
        {
            public string GetData(int value)
            {
                return string.Format("You entered: {0}", value);
            }
    
            public CompositeType GetDataUsingDataContract(CompositeType composite)
            {
                if (composite == null)
                {
                    throw new ArgumentNullException("composite");
                }
                if (composite.BoolValue)
                {
                    composite.StringValue += "Suffix";
                }
                return composite;
            }
    
            /// <summary>
            /// 在此实现方法中调用第一个WCF服务
            /// </summary>
            /// <param name="i"></param>
            /// <returns></returns>
            public bool get(int i)
            {
                WcfService1.ServiceReference1.Interface1Client client = new Interface1Client();//WCF服务的客户端实例
                if (i == 1)
    
    
                    return client.get(3);//调用方法
                else
                    return false;
            }
        }

    配置文件也正常如下

    <!-- 以下内容是在system.serviceModel节点中 -->
    <bindings>
          <netTcpBinding>
            <binding name="NetTcpBinding_Interface1" />
          </netTcpBinding>
        </bindings>
        <client>
          <endpoint address="net.tcp://localhost:2303/ConsoleApplication6/Program"
            binding="netTcpBinding" bindingConfiguration="NetTcpBinding_Interface1"
            contract="ServiceReference1.Interface1" name="NetTcpBinding_Interface1">
            <identity>
              <userPrincipalName value="DESKTOP-UO3BIJF\asus" />
    
            </identity>
          </endpoint>
        </client>

    3、然后写第二个wcf服务的寄宿程序,控制台程序,正常编写代码配置文件如下:

    <system.serviceModel>
        <bindings>
          <!--<netTcpBinding>
            <binding name="NetTcpBinding_Interface1" />
          </netTcpBinding>-->
          <wsHttpBinding>
            <binding name="userNameCredentialBinding">
              <security mode="Message">
                <message clientCredentialType="UserName" />
              </security>
            </binding>
          </wsHttpBinding>
        </bindings>
        <services>
          <!-- 注意: 服务名称必须与服务实现的配置名称相匹配。 --><!--行为配置属性是后面的行为中的配置-->
          <service name="WcfService1.Service1" behaviorConfiguration="behaviorConfiguration" >
            <endpoint address="http://localhost:5443/Service1" binding="wsHttpBinding" bindingConfiguration="userNameCredentialBinding"
            contract="WcfService1.IService1"></endpoint>
          </service>
        </services>
        <!--<client>
          <endpoint address="net.tcp://localhost:2303/ConsoleApplication6/Program"
            binding="netTcpBinding" bindingConfiguration="NetTcpBinding_Interface1"
            contract="ServiceReference1.Interface1" name="NetTcpBinding_Interface1">
            <identity>
              <userPrincipalName value="DESKTOP-UO3BIJF\asus" />
            </identity>
          </endpoint>
        </client>-->
    
        <behaviors>
          <!--服务的行为配置 -->
          <serviceBehaviors>
            <behavior name="behaviorConfiguration" >
              <serviceDebug includeExceptionDetailInFaults="true"/>
              <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:5443/"/>
              <!--以下可以忽略不是关键 -->
              <serviceCredentials>
                <serviceCertificate storeLocation="CurrentUser" storeName="My"  x509FindType="FindBySubjectName" findValue="DESKTOP-UO3BIJF"/>
                <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="myProvider"/>
    
              </serviceCredentials>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>

    4、按照我的逻辑这个应该是可以的,宿主成功启动。
    5、编写调用第二个WCF服务的客户端,依然是正常的编写代码,添加服务引用,实例化服务客户端实例。调用服务完成,编译正常。
    6、满心欢喜进行测试,结果
    这里写图片描述
    我返回去第二个WCF服务实现的配置文件中确认了好几遍,明明存在的?
    好吧百度,没有(暂时没找到),仔细想了想,一个大胆的尝试。
    不是第二个服务也寄宿了吗。那我在宿主中再添加一下第一个WCF服务引用,虽然宿主程序不使用代码。如下的配置文件,就是第3步文件中的注释解开。

    <system.serviceModel>
        <bindings>
          <netTcpBinding>
            <binding name="NetTcpBinding_Interface1" />
          </netTcpBinding>
          <wsHttpBinding>
            <binding name="userNameCredentialBinding">
              <security mode="Message">
                <message clientCredentialType="UserName" />
              </security>
            </binding>
          </wsHttpBinding>
        </bindings>
        <services>
          <!-- 注意: 服务名称必须与服务实现的配置名称相匹配。 --><!--行为配置属性是后面的行为中的配置-->
          <service name="WcfService1.Service1" behaviorConfiguration="behaviorConfiguration" >
            <endpoint address="http://localhost:5443/Service1" binding="wsHttpBinding" bindingConfiguration="userNameCredentialBinding"
            contract="WcfService1.IService1"></endpoint>
          </service>
        </services>
        <client>
          <endpoint address="net.tcp://localhost:2303/ConsoleApplication6/Program"
            binding="netTcpBinding" bindingConfiguration="NetTcpBinding_Interface1"
            contract="ServiceReference1.Interface1" name="NetTcpBinding_Interface1">
            <identity>
              <userPrincipalName value="DESKTOP-UO3BIJF\asus" />
            </identity>
          </endpoint>
        </client>
    
        <behaviors>
          <!--服务的行为配置 -->
          <serviceBehaviors>
            <behavior name="behaviorConfiguration" >
              <serviceDebug includeExceptionDetailInFaults="true"/>
              <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:5443/"/>
              <!--以下可以忽略不是关键 -->
              <serviceCredentials>
                <serviceCertificate storeLocation="CurrentUser" storeName="My"  x509FindType="FindBySubjectName" findValue="DESKTOP-UO3BIJF"/>
                <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="myProvider"/>
    
              </serviceCredentials>
            </behavior>
          </serviceBehaviors>
        </behaviors>
      </system.serviceModel>

    好了见证奇迹的时刻:居然居然成功了。
    后记:想了想既然你在宿主程序中可以找到协定。那么在WCF服务实现类中的协定就不重要了吧,试一下,注释掉第2步的配置文件,确保程序编译不报错。
    战战兢兢的运行,TMD居然也成功了。
    结论:在第二个宿主中需要添加对第一个服务的引用。至于其中缘由我目前搞不懂,希望看到的大佬可以解释一下。谢过。

    展开全文
  • WcfServiceLibrary1--- wcf服务:生成dll文件给宿主引用 WinFormsWcfService--- 宿主 WcfClient---调用wcf服务客户端
  • WCF服务寄宿IIS服务上,当IIS服务启动时,WCF服务就启动了。(Web应用程序部署IIS服务器上) 解决方案--添加Web应用程序--Web应用程序添加--WCF服务(*.svc)。【解决方案--添加Web应用程序--Web应用程序添加--类...

    WCF服务寄宿在IIS服务上,当IIS服务启动时,WCF服务就启动了。(Web应用程序部署在IIS服务器上)

    解决方案--添加Web应用程序--Web应用程序添加--WCF服务(*.svc)。【解决方案--添加Web应用程序--Web应用程序添加--类(改成*.svc)】

    UserInfoService.svc(需要添加引用:BLL和IBLL):

    <%@ ServiceHost Service="BLL.UserInfoService" %>
    
    
    Web.config(服务端配置):
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <system.serviceModel>
        <services>
          <service name="BLL.UserInfoService">
            <endpoint binding="wsHttpBinding" contract="IBLL.IUserInfoService" />   <!--没有配置地址,因为地址是在部署到IIS服务器上后自动生成指定的-->
          </service>
        </services>
      </system.serviceModel>
    </configuration>
    配置IIS服务器  WCF服务的地址:

    http://127.0.0.1:801/UserInfoService.svc

    BLL.UserInfoService类和IBLL.IUserInfoService接口参见:http://blog.csdn.net/houyanhua1/article/details/79085239
    --------------------------------------------------------------------------------------------------------------------------------------

    Web.config(客户端配置):

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="BasicHttpBinding_IUserInfoService" />
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="http://127.0.0.1:801/UserInfoService.svc" binding="basicHttpBinding"
                    bindingConfiguration="BasicHttpBinding_IUserInfoService" contract="IBLL.IUserInfoService"
                    name="BasicHttpBinding_IUserInfoService" />   <!--配置WCF服务地址。也需要引用契约(接口)。客户端和服务端都需要契约(接口)(IBLL.IUserInfoService)-->
            </client>
        </system.serviceModel>
    </configuration>
    客户端调用:
    UserInfoServiceClient client = new UserInfoServiceClient();  
    int sum = client.Add(3, 6);  //调用远程WCF服务的Add函数。契约接口中定义的函数。  
    Response.Write(sum.ToString());
    


    展开全文
  • Windows服务发布WCF服务

    千次阅读 2015-07-03 11:01:42
    如何通过Windows服务发布WCF服务
  • WCF服务编程中文版

    千次下载 热门讨论 2014-02-16 10:34:30
    WCF服务编程中文版
  • WCF服务应用

    2013-08-06 11:37:58
    wcf服务,.net的服务应用,欢迎下载
  • wcf,c#调用wcf 服务

    2012-05-05 14:10:53
    wcf,c#调用wcf 服务,包括 服务器端,客服端 简单示例供参考
  • 如何windows服务中寄宿wcf服务的例子

    千次下载 热门讨论 2014-09-05 01:58:53
    如何windows服务中寄宿wcf服务的例子

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,763
精华内容 17,505
关键字:

wcf服务在哪