2

我的 Silverlight 4 WCF RIA 服务项目在我的 VS 2010 开发机器上运行良好,也从 IIS 发布。但是当我将它部署到客户端机器(windows7)时,我所有的服务方法都返回 NotFound 错误。我整天尝试所有博客文章和论坛,但徒劳无功。来自提琴手的服务 url 在开发机器上返回,但在客户端 pc 上返回 404。我现在很沮丧。在我上次的试验中,我看到了手动创建物理 .svc 文件

<%@ ServiceHost Service="Fully.Qualified.NameOfYourService" Factory="System.ServiceModel.DomainServices.Hosting.DomainServiceHostFactory" %>

但无法弄清楚如何实施,有人请拯救我的未来?

4

2 回答 2

4
  1. 安装 .NET 框架 4.0;
  2. 安装 IIS7 并在“Windows 功能”中启用“Windows Communication Foundation HTTP 激活”;
  3. 使用选项“SERVER=true”安装 WCF RIA 服务(您也可以跳过此步骤,为存储在 Web 应用程序的 bin 文件夹中的 System.ServiceModel.DomainServices.* dll 设置“Copy Local=True”); msiexec /i RIAServices.msi SERVER=true
  4. 使用“IIS 管理器”中的“添加应用程序”菜单指定应用程序名称、包含您的应用程序的部署目录和“ASP.NET v4.0”作为应用程序池;如果您收到“404 错误”,从“C:\Windows\Microsoft.NET\Framework\v4.0.30319”目录运行“aspnet_regiis.exe -i”也很有用;
于 2013-01-04T12:05:50.590 回答
1

很简单,创建一个新网站 [托管您的应用程序],然后从框架文件夹 [Framework for 32bit or Framework64 for 64bit applications] 运行“aspnet_regiis -i”。

查看新网站下的 HTTP 处理程序部分时,您将看到 .svc 文件的各种映射已创建[回头查看默认网站,这些还没有升级!]。这随后解决了 404 错误,并且 Fiddler 还确认 svc 文件被正确访问。

作为最后的配置,确保应用程序池设置为 ASP.NET 4 集成模式池并启用允许 32 位应用程序。

希望这可以帮助 :-)

于 2013-01-04T06:29:57.493 回答