• IIS服务寄宿


    本文参考:http://log.medcl.net/item/2010/03/wcf-extensions-under-iis7-configuration-issues/

         在学习IIS服务寄宿时参考了文章:如何在IIS中承载WCF服务http://msdn.microsoft.com/zh-cn/library/ms733766.aspx,并按照上面的教程进行配置,

    PS:2011-5-28

    不按上面的教程进行配置也是可以的,下面我讲一下我的配置过程。

    步骤1:首先创建一个解决方案叫做IISHostWCF。

    步骤2:在这个解决方案中创建一个”控制台应用程序“Client来测试我们通过IIS寄宿的服务,然后在创建一个CalcService的“WCF服务库“

    步骤3:在创建好WCF服务库以后他会自动帮助我们创建契约IService1.cs(接口)以及契约实现Service1.cs

    我们在WCF服务哭下创建一个文件夹叫做App_Code,然后将IService1.cs和Service1.cs都放到这个App_Code文件夹中去。

    步骤4:将自动生成的配置文件App.config改名为Web.config(这一步很重要,不然会报错说找不到ServiceHost指定的路径)

    步骤5:其他内容可以参照前面。

    最后通过http://localhost/IISHostedCalc/Service.svc访问时报错,错误内容为:“由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    解决方法:

    以管理员运行命令:

    运行结果如下图所示:

    再次登录 http://localhost/IISHostedCalc/Service.svc,运行经过如下图所示

    表明服务没有发布成功,按照提示进行修改,修改以后的Web.config为:

    再次登录http://localhost/IISHostedCalc/Service.svc,会出现如下界面

     SvcUtil.exe应用

    可以参考ServiceModel 元数据实用工具 (Svcutil.exe)

    我们可以在C:/Program Files/Microsoft SDKs/Windows/v6.0A/bin目录下找到SvcUtil.exe,将这个程序拷贝到D盘根目录下,然后打开cmd,切换到d盘根目录下,输入命令:

    运行完以后,在d盘根目录下就会自动生成CalculatorService.cs和output.config文件。

    在CalculatorService.cs中定义了CalculatorClient这个类,我们在客户端应用程序CalculatorServiceClient中就可以直接通过Calculator这个类创建调用服务的客户端对象。

    CalculatorService.cs:

     

    out.config

     

    创建测试客户端

    将CalculatorService.cs和out.config拷贝到CalculatorServiceClient项目下。然后添加现有项CalculatorService,添加完以后再添加应用程序配置文件App.config,将out.config中的内容拷贝到App.config中去,Program.cs代码如下:

    运行这个CalculatorServiceClient控制台应用程序,运行结果如下:

    作者:xwdreamer
    欢迎任何形式的转载,但请务必注明出处。
    分享到:
  • 相关阅读:
    混沌的艺术--- YChaos通过数学公式生成混沌图像
    相声段子:How Are You
    太阳崇拜---64幅由算法生成的八芒星图像
    自然的密码---36幅由算法生成的六芒星图像
    雪花六出---几幅算法生成的雪花图像,并祝大家平安夜和圣诞节快乐
    18个分形图形的GIF动画演示
    python的with用法(参考)
    彻底解决django 2.2以上版本与mysql兼容性问题(不用改源码)
    python操作MySQL数据库的三个模块
    MySql 外键约束 之CASCADE、SET NULL、RESTRICT、NO ACTION分析和作用
  • 原文地址:https://www.cnblogs.com/xwdreamer/p/2297024.html
Copyright © 2020-2023  润新知