• Win7下配置IIS服务器以及网站发布


    本文摘至于:http://heavengate.blog.163.com/blog/static/202381053201391111512986/

     

    1、vsual Studio 2010下利用本地IIS进行网站发布 

    1)打开IIS管理工具,新增网站"WSTest",设置物理路径及端口:

      Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    2)设置好"网站名称"、"物理路径"、"端口"、默认页面后,解决出现的问题,确保路径:

    http://localhost:8089能够正常访问。

    3)打开Visual Studio 2010,新建项目WSTest:

      Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    4)右键解决方案下的网站WSTest,选择"发布":

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    5)将网站发布到1)中设置的物理路径E:\myiis下,使用FTP的发布方法,即使用FTP的方式,将WSTest网站发布到物理路径E:\myiis下。

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    点击发布,Visual Studio 2010左下角会显示发布成功。

    6)此时我们可以进入物理路径E:\myiis下,查看发布的网站文件:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    7)进入IIS,对WSTest网站设置重新启动:

      Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    8)网址中输入http://localhost:8089/,可以进入网站主页:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    网站发布成功!

    1. Visual Studio 2010下利用本地IIS发布WebService:

    本示例主要进行WebService测试。在(一)的基础上,对WSTest进行扩展:

    9)在Visual Studio 2010下,右键网站WSTest,添加—>新建项:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    10)选择Web服务,命名为"myws.asmx":

      Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    11)对添加的webservice简要修改,将myws.asmx.cs文件中默认的HelloWorld方法进行简要修改,用于测试:

      Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    12)对网站进行生成,重新发布,与步骤5)一致:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    13)在浏览器中输入网站:http://localhost:8089/myws.asmx

    可以看到,服务能正常运行:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    14)点击HelloWorld可以进行,方法的测试:

      Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    为了更进一步的测试Webservice,我们在WSTest解决方案下,建立一个新的项目作为客户端进行测试:

    15)在WSTest解决方案下,新建项目:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    16)新建一个控制台应用程序,命名为Client:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    17)此时WSTest解决方法下,有两个项目,一个为Client,一个为WSTest:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    18)在项目Client中,右键引用"添加服务引用":

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    在这里,会有两种情况:

    (1)我们点击"发现",此时会找到一个http://localhost:5936/myws.asmx的web服务:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    (2)我们输入http://localhost:8089/myws.asmx,然后点击"前往",此时也能找到一个web服务:

      Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    这两种情况都能找到Web服务,第一个发现找到的是Visual Studio2010下,默认的iis里面的,第二个是我们本地的iis里面的服务,也就是我们之前发布到物理路径E:\myiis下的web服务,明显,这次我们要测试本地的iis发布web服务,故而选择第二种方式,命名为WService:

      Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    19)此时我们看到Client项目中已经将WService服务引用进来:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    20)接下来,我们使用Client对WSTest进行测试,打开工程下默认的program.cs进行编辑:

    namespace Client

    {

    class Program

    {

    static void Main(string[] args)

    {

    WService.mywsSoapClient ms = new WService.mywsSoapClient();

    while (true)

    {

    Console.Write("请输入");

    string str = Console.ReadLine();

    Console.WriteLine(ms.HelloWorld(str));

    }

                 }

    }

    }

    解析:使用web服务的方式为:

    1. 新建服务:服务名.服务名SoapClient ms(自定义)= new服务名.服务名SoapClient()
    2. 对新建的服务,调用方法服务的方法即可:如ms.HelloWorld()

    选择Client,右键设置为"设为启动项",运行效果如下:

    Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

    服务调用成功!

    VisualStudio网站发布的三种方案:

    http://wenku.baidu.com/view/ca3bafa6b0717fd5360cdcc8.html

    尝试过,不过好像不是很成功!

      

    Webservice常见问题:

      1. 客户端调用Web服务的时候,一开始是没有问题的,后面对web服务更新以后,此时如果再次在客户端更新服务引用,会引发这样一个问题:

        错误    X    自定义工具错误: 无法生成服务引用"XXXXXXXXX"的代码。请检查其他错误和警告信息,了解详细信息。

        原因:添加一个服务引用时,你必须为每个服务引用提供唯一的新命名空间。导入的类型会定义在这个新的命名空间中。如果为共享了相同数据契约的两个不同服务添加引用,就会出现问题,因为你得到了两个不同的类型,在两个不同的命名空间,表示的却是相同的数据契约。然而,默认情况下,如果被客户端引用的任意一个程序集包含的数据契约,与已经暴露在引用服务元数据的数据契约类型匹配,Visual Studio 2008/2010就不会再次导入。需要再次强调的是,已有的数据契约引用必须是在另一个引用程序集中,而不是在客户端项目自身。这一限制会在未来的Visual Studio版本中提供,而目前最方便的弥补措施与最佳实践则为:将所有共享的数据契约分解到指定的类库中,并让所有的客户端引用该程序集。然后,通过服务引用的高级设置对话框(参见下图),可以控制和配置引用程序集(如果存在)与有关的共享数据契约进行协调。"Reuse types in referenced assemblies"检查框默认是被选中的,但如果你需要也可以关闭这一功能。顾名思义,你只能共享数据契约,却不能共享服务契约。使用里面的单选按钮,可以让Visual Studio 2008/2010跨所有的引用程序集重用数据契约,或者通过选择列表项限制对特定程序集的共享。

        解决方案:

        1. 在需要更新的服务上,右键"配置服务引用(Configure Service Reference)",将"重新使用引用的程序集中的类型(Reuse types in referenced assemblies)"这个勾取消,这样就能安全的重新引用服务。
          Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客

        (b) 小贴士:取消后,再次勾选,依然可以正确生成Web服务引用。这样可以避免一个问题:如果Web服务本身和引用服务的项目使用共享项目,可以避免由代理类生成而造成的引用冲突。

        Win7下配置IIS服务器以及网站发布(二) - heavengate - Heavengate的博客
  • 相关阅读:
    SQLAlchemy技术文档(中文版)(全)
    Python 学习 第17篇:sqlalchemy 读写SQL Server数据库
    环境:Pycharm2019.1 + Win10 + Python3.7.3
    PyInstaller打包python脚本的一些心得
    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
    简单使用xlwt
    python xlwt写入excel操作
    Python中xlrd模块解析
    python使用pip离线安装库
    pip的基本使用和离线安装Python第三方库
  • 原文地址:https://www.cnblogs.com/CHNMurphy/p/5477252.html
Copyright © 2020-2023  润新知