问题:Silverlight4+WCF +Windows 2008 64bit +IIs7+Db2 部署出现问题

在windows2008 64 位下(已经安装silverlight sdk和.net4.0)部署 silverlight4,

测试出现问题1:

HTTP 错误 500.19-internal Server Error

无法访问请求的页面,因为该页的相关配置数据无效。

配置错误:

无法读取配置节system.serviceModel ,以为它缺少节声明

解决方法:使用“服务器管理器”-> "功能"->添加功能->选择安装“.NET Framework 3.0 功能”

 之后又出现问题2:

 

Could Not Load Type ‘System.ServiceModel.Activation.HttpModule’

 解决方法:重新注册Asp.Net4.0 C:\Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis.exe -i

测试部署好的WCF服务:

1、在Web.config  ,WCF提供了includeExceptionDetailInFaults配置项,通过配置这个配置项为true,WCF服务端的任何异常错误的详细信息都可以传递到WCF的客户端 (但在生产环境,这样做是不安全的。 )

<serviceBehaviors> 

<behavior name=""> 

<serviceMeta httpGetEnabled="true"/> 

<serviceDebughttpHelpPageEnabled="true" includeExceptionDetailInFaults="true" />

 

</behavior> 

 

       ...

 

 2、远程访问测试WCF服务:创建一个客户端,并将其用于调用该服务。首先,打开Visual Studio 命令提示(2010)输入从命令行中使用 svcutil.exe 工具来进行此操作:

svcutil.exe http://localhost:8001/WCFHost/MyService.svc?wsdl
这将生成一个配置文件和一个包含客户端类的代码文件MyService1.cs和output.config。请将这两个文件添加到客户端应用程序,并使用生成的客户端类来调用服务。

把MyService1.cs文件添加到需要调用此服务客户端的项目中,把output.config文件中的内容复制到Web.config文件的相应节点中。 

例如:

C#
class Test
{
    static void Main()
    {
        MyService1Client client = new MyService1Client();
        

        // var myString =client.MyMethod()

        // 使用 "client" 变量在服务上调用操作。
        // 始终关闭客户端。
        client.Close();
    }
}

 3.访问Db2,出现问题:SQL1159 Initialization error with DB.NET Data Provider,reason code 7,tokens 9.5.0.DEF.2,SOFTWARE\IBM\DB2\InstalledCopies

应该是64位系统部署32位程序的问题;解决方法:

在IIS服务器的“应用程序池”中, 找到对应的程序池,比如Asp.NET v4.0,设置应用程序池默认设置,在“常规”选项列表,将“启用32位应用程序”设置为“True”。

你可能感兴趣的:(silverlight)