用IIS做宿主的WCF服务

Posted on 2011-09-27 15:54  关心  阅读(1785)  评论(2编辑  收藏  举报

第一步创建WCF项目:WCFSolution

第二步选择WCFSolution点击右键选择添加->新建网站->Visual C#->WCF服务

创建好以上2个项目如下图所示:

第三步,修改Service.svc文件,修改后的语句如下:

<%@ ServiceHost Language="C#" Debug="true" Service="WCFSolution.Service1" %>

第四步,生成网站并且发布到IIS上,浏览Service.svc文件如下图所示:

Service1 服务

已创建服务。

若要测试此服务,需要创建一个客户端,并将其用于调用该服务。可以使用下列语法,从命令行中使用 svcutil.exe 工具来进行此操作:

svcutil.exe http://localhost:8001/WCFHost/Service.svc?wsdl

这将生成一个配置文件和一个包含客户端类的代码文件。请将这两个文件添加到客户端应用程序,并使用生成的客户端类来调用服务。例如:

C#

class Test
{
    static void Main()
    {
        Service1Client client = new Service1Client();

        // 使用 "client" 变量在服务上调用操作。

        // 始终关闭客户端。
        client.Close();
    }
}

Visual Basic

Class Test
    Shared Sub Main()
        Dim client As Service1Client = New Service1Client()
        ' 使用 "client" 变量在服务上调用操作。

        ' 始终关闭客户端。
        client.Close()
    End Sub
End Class

 第五步:打开Visual Studio 命令提示(2010)输入svcutil.exehttp://localhost:8001/WCFHost/Service.svc?wsdl之后就会产生2个文件:Service1.cs和output.config。

第六步:把Service1.cs文件添加到需要调用此服务客户端的项目中,把output.config文件中的内容复制到Web.config文件的相应节点中。

第七步:在客户端实例化次服务,代码如下:

       protected void Button1_Click(object sender, EventArgs e)
    {
       Service1Client client = new Service1Client();
       string str= client.GetData("测试");
        Response.Write(str);
        client.Close();
    }

第八步:运行客户端,点击按钮如下图所示:

OK,到此已经全部完毕,希望大家多多指教。

Copyright © 2024 关心
Powered by .NET 8.0 on Kubernetes