您的位置:首页 > 其它

Window Server 2008 R2 +IIS7.5 部署WCF Rest问题

2014-02-15 18:50 337 查看

一.未能从程序集“System.ServiceModel, Version=3.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类

发生这个错误的原因:安装了高版本的.net framework 导致这种错误。可以尝试通过下面的方法解决:

第一步:找到配置文件applicationHost,参考路径: %windir%/system32/inetsrv/config/applicationHost

打开找到下面标签,在managedHandler 加上“,runtimeVersionv2.0" 即可。

<add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel,Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler" />

第二步:在命令提示符CMD上打开地址 C:\Windows\Microsoft.NET\Framework\v4.0.30319 然后输入aspnet_regiis.exe -iru 后回车即可

cmd:命令cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

二.无法激活服务,因为它不支持 ASP.NET 兼容性

错误提示:无法激活服务,因为它不支持 ASP.NET 兼容性。已为此应用程序启用了 ASP.NET 兼容性。请在 web.config 中关闭 ASP.NET 兼容性模式或将 AspNetCompatibilityRequirements 属性添加到服务类型且同时将 RequirementsMode 设置为“Allowed”或“Required”。

默认情况下ASP.NET兼容性支持是关闭的,但很多时候需要打开Asp.Net的兼容性来利用Asp.Net的一些特性(使用session,上下文等),具体可参考http://msdn.microsoft.com/zh-cn/library/ms752234.aspx。如果要打开兼容性,需要做两步:

1.在服务类加上如下标记:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class UserService: IUserService
{
//服务代码.
}


2.在web.config中的<system.serviceModel>段里加:

<serviceHostingEnvironment multipleSiteBindingsEnabled="true"  aspNetCompatibilityEnabled="true" />


注意框架3.5以前都是默认就支持的,4.0以后默认就是没有打开兼容性支持的.


三.apk文件下载MIME映射

打开IIS服务管理器,找到服务器,右键-属性,打开IIS服务属性;

单击MIME类型下的“MIME类型”按钮,打开MIME类型设置窗口;

单击“新建”,建立新的MIME类型;

扩展名中填写“.apk”,

MIME类型中填写apk的MIME类型“ application/vnd.android.package-archive ”



单击“确定”保存设置。

重启IIS,使设置生效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: