【问题标题】:How does visual studio find web services on the local machine?Visual Studio 如何在本地机器上找到 Web 服务?
【发布时间】:2010-01-03 13:54:22
【问题描述】:

添加新的 Web 引用时,Visual Studio 为您提供的选项之一是在本地计算机上搜索 Web 服务(确切的选项名称是“本地计算机上的 Web 服务”)。

我的问题是,Visual Studio 如何在本地机器上找到 Web 服务?包含该服务的本地网站不包含 .disco 文件。

我尝试使用提琴手,但一无所获(Visual Studio 没有向本地 Web 服务器发出任何请求)。 Visual Studio 是否会在默认网站上扫描扩展名为 .asmx 的文件?

【问题讨论】:

    标签: asp.net visual-studio web-services


    【解决方案1】:

    此处的 MSDN 文章 (http://msdn.microsoft.com/en-us/library/8dcbc50t.aspx) 指出“要使此链接返回信息,必须在本地计算机上运行 Web 服务器,例如 Internet 信息服务 (IIS)。”

    另一个论坛 (http://forums.asp.net/t/1224187.aspx) 的发帖人在访问本地 Web 服务时遇到问题,错误消息显示为

    Active Directory 服务找不到 网络服务器。一个可能的原因 这是之间的不兼容 互联网信息的版本 客户端上的服务器 (IIS) 和 服务器。另一个可能的原因是 本地没有安装IIS 机器,或下的用户身份 您正在运行的可能没有 在此查看网站的权限 机器。在此查看网站 机器,请确保您运行 Visual 工作室作为管理员。在 Windows 上 安装了 IIS 的 Vista 计算机, 确保 IIS 元数据库和 IIS 6 配置兼容性功能是 已启用。”

    这让我觉得本地 Web 服务是通过从本地计算机查询 IIS 元数据库来发现的。最有可能的是,有一些托管的 COM API 允许这样做。

    编辑:关于您使用 Fiddler 的实验 - 它不会捕获对“localhost”的调用(请参阅http://www.fiddler2.com/fiddler/help/hookup.asp#Q-LocalTraffic),因此,即使 Visual Studio 进行了此类调用,也不会显示这些调用。

    【讨论】:

    • @naivists,非常感谢您的回答。从您在此处发布的错误消息看来,Visual Studio 实际上是在访问网站的主目录,而不是向 IIS 发出请求。另外,感谢您注意到 Fiddler 在使用 IE 时没有捕捉到对 localhost 的调用,我不知道这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 1970-01-01
    • 2022-12-15
    • 2021-12-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    相关资源
    最近更新 更多