【问题标题】:Deploying a Silverlight Application with built-in ASMX WebService to IIS将具有内置 ASMX WebService 的 Silverlight 应用程序部署到 IIS
【发布时间】:2010-11-04 10:58:15
【问题描述】:

我有一个 Silverlight 应用程序,它使用内置的 .ASMX WebService 来访问 SQL 数据库并运行一些查询。一切都在我的开发机器上顺利运行。

我正在尝试将应用程序部署到 IIS 6,但遇到了一些问题。

Silverlight 应用程序本身似乎运行良好,但 Web 服务却没有。我收到一个未处理的异常错误,显示 [Async_ExceptionOcurred] 页面一加载(当页面加载时,我正在进行一些 Async WebService 方法调用)。

我认为这是 Web 服务的问题,但我不知道是什么问题。我尝试将 WebService 命名空间设置为我的 URL,但这不起作用。我尝试在我的 Web Config 中弄乱 SQL 连接字符串,但这也没有任何影响。

需要注意的是,我的 IIS 虚拟目录仅包含我的 SilverlightApp.Web 文件夹。我知道作为应用程序一部分的另一个文件夹包含 WebService 的 .ClientSettings 文件,但我认为这是嵌入到 .xap 中的。

任何人都可以对此有所了解吗?

【问题讨论】:

    标签: silverlight web-services iis deployment


    【解决方案1】:

    最有可能发生的事情: 您在客户端上的 Web 服务代理正在使用它所针对的 Web 服务的地址:("http://localhost...")。 要做的事情:

    • 使用fiddler 确认这是问题所在。它会向您显示代理正在调用的位置。
    • 使用 Web 服务的重载构造函数并指定一个 URI。考虑使用 id/defing 进行调试/发布。这将覆盖 client.config 中的设置。
    • 在客户端配置中为发布构建 (Shawn's article here) 创建另一个端点并选择一个或另一个(再次使用 if/defs)。

    还有其他选项(查看 URI 并建立服务地址)...但这是一般的想法。

    hth, 埃里克

    【讨论】:

    • 谢谢埃里克。发现。我使用了 Fiddler,我立即注意到我的 Web 服务正在尝试访问基于 localhost 的 URL。我创建了一个新端点和 4 行代码,后来一切都启动并运行了。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多