为什么我不能部署我的Silverlight应用程序
在VisualStudio内部,我的Silverlight业务应用程序运行良好。但当我将它发布到本地机器的IIS(版本6.1)时,它运行良好,但似乎无法访问RIA服务。弹出的第一个错误是: 应用程序在其他方面工作正常。它航行良好。也就是说,直到它尝试通过RIA服务从服务器访问数据为止。我收到的信息如下: 我对部署web应用程序知之甚少,更不用说使用RIA服务的silverlight应用程序了。我使用以下设置发布: 编辑: 在意识到“NotFound”异常可能是任何异常之后,我使用fiddler获得了确切的错误。具体如下为什么我不能部署我的Silverlight应用程序,silverlight,deployment,wcf-ria-services,Silverlight,Deployment,Wcf Ria Services,在VisualStudio内部,我的Silverlight业务应用程序运行良好。但当我将它发布到本地机器的IIS(版本6.1)时,它运行良好,但似乎无法访问RIA服务。弹出的第一个错误是: 应用程序在其他方面工作正常。它航行良好。也就是说,直到它尝试通过RIA服务从服务器访问数据为止。我收到的信息如下: 我对部署web应用程序知之甚少,更不用说使用RIA服务的silverlight应用程序了。我使用以下设置发布: 编辑: 在意识到“NotFound”异常可能是任何异常之后,我使用fiddl
“/PPCa”应用程序中的服务器错误。 找不到资源 说明:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下URL并确保其拼写正确 请求的URL:/PPCa/login.aspx
我没有login.aspx页面。这是Silverlight内部的东西吗?我需要创建这样一个页面吗?您可能想看看这个:
- 还有这个
- 在Windows 7上,您将使用IIS7
在Internet信息服务管理器应用程序(在管理工具中找到)中,单击左侧窗格中最顶部的节点,该节点类似于MACHINENAME(MACHINENAME\yourUsername)。在功能列表中双击ISAPI和CGI限制,并确保显示的ASP.NET版本是允许的,而不是拒绝的
要证明WCF已向IIS注册,请检查模块图标的功能列表,双击它并查看ServiceModel-4.0的列表
承载Silverlight XAP的web项目的web.config应该如下所示(加上DB连接字符串等附加内容):
应用程序池中的应用程序标识是什么?该标识对您的数据库有权限吗?@Rus,我的appPool id是“ApplicationPoolIdentity”,您是否尝试将某个RIA域服务的URL直接键入IE?它们看起来像。如果返回服务配置页面,则RIA在服务器端正常工作。@Rus,我收到的错误与上面编辑中列出的错误相同。^我查看了,但没有为注册MIME类型。svc有必要吗?您向IIS注册了WCF吗?如果你还没有阅读过这篇文章,你可以解释一下为什么这些链接会有用。这将使这个答案值得接受。@Aswin,是的,对不起,我通常忽略链接答案。如果你不知道,也帮不上忙,就不要回答。@Jordan。。好您说过您对部署web应用程序知之甚少。第一个链接告诉您如何部署RIA服务,第二个链接讨论发布SL RIA应用程序时的问题。@Aswin,谢谢,我所要求的只是一些上下文。把它加到你的答案上,我会去掉-1。是的,总结其他地方存在的东西是很有用的。虽然这些链接是指向MSDN页面的,但已知网站会变暗,这些页面可能会被移动。如果没有上下文,这些链接将变得毫无用处。我已经验证了所有这些内容。我没有伊萨普,我有伊萨皮。不走运(另外,我不知道这是否重要,但我正在运行64位版本的Windows 7。我找到了答案。我真的不明白为什么,但我将web目标从\inetpub\wwwroot文件夹移到了另一个文件夹中,它起了作用。我还以自己而不是应用程序用户的身份连接。不知道为什么,但它起了作用。
<?xml version="1.0"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add name="DomainServiceModule" preCondition="managedHandler"
type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</modules>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpModules>
<add name="DomainServiceModule" type="System.ServiceModel.DomainServices.Hosting.DomainServiceHttpModule, System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</httpModules>
</system.web>
</configuration>