使用内置ASMX Web服务将Silverlight应用程序部署到IIS

时间:2009-06-19 22:51:36

标签: silverlight web-services iis deployment

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

最可能发生的事情: 您在客户端上的Web服务代理正在使用它构建的Web服务的地址:(“http://localhost ...”)。 要做的事情:

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

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

HTH, 埃里克