问题描述
|
我使用GoDaddy的在线数据库管理器创建了一个数据库,但是一旦部署ASP.NET项目就无法查询它。在我的本地计算机上,一切正常。我有一个充满数据的数据网格。
以下是我从本地计算机查询数据库的步骤:
创建一个Silverlight应用程序。将SL项目托管在ASP.NET Web应用程序中。启用WCF RIA服务
将新的实体模型添加到ASP.NET项目。实体连接字符串指向远程数据库
将域服务添加到ASP.NET项目
使用左侧的“数据源”选项卡将数据网格添加到Silverlight项目
运行应用程序时,可以在本地计算机上用数据填充网格。当我使用“发布Web”向导进行FTP部署时,该应用程序已成功上传,因为我可以通过FTP应用程序看到文件。
我究竟做错了什么?我听说SL应用程序需要一个clientaccesspolicy.xml文件。使用WCF RIA服务时是否需要?我是否需要更改Web.config文件?这是VS自动生成的配置文件:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<!--
For more information on how to configure your ASP.NET application,please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<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.web>
<httpModules>
<add name=\"DomainServiceModule\" type=\"System.ServiceModel.domainservices.Hosting.DomainServiceHttpModule,PublicKeyToken=31bf3856ad364e35\" />
</httpModules>
<compilation debug=\"true\" targetFramework=\"4.0\">
<assemblies>
<add assembly=\"System.Data.Entity,PublicKeyToken=b77a5c561934e089\" />
</assemblies>
</compilation>
</system.web>
<connectionStrings>
<add name=\"(Entities Here)\" connectionString=\"Metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.sqlClient;provider connection string="Data Source=(Source Here);Initial Catalog=(Catalog Here);User ID=(ID Here);Password=(Password Here);MultipleActiveResultSets=True"\" providerName=\"System.Data.EntityClient\" />
</connectionStrings>
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled=\"true\"
multipleSiteBindingsEnabled=\"true\" />
</system.serviceModel>
</configuration>
解决方法
我听说SL应用程序需要一个clientaccesspolicy.xml文件。使用WCF RIA服务时是否需要?
是。您必须明确允许跨域访问。当您的网站和数据库服务器位于同一台“域”(即本地计算机)上时,它在本地工作。
“ 1”文件必须位于托管服务的域的根目录中。
您也可以使用
crossdomain.xml
-Silverlight同时支持。
资源