[Remoting FAQ]Loading a Remoting Host On IIS得到BadImageFormatException

简介:

[Remoting FAQ]

Loading a Remoting Host On IIS

得到BadImageFormatException异常

Version

Date

Creator

Description

1.0.0.1

2006-4-24

郑昀@Ultrapower

草稿

 

继续阅读之前,我们假设您熟悉以下知识:

n         Remoting

n         Remoting from IIS Hosted component

 [现象]

首先,这种情况发生在以下特殊情形:

服务器端把Remoting Objects“宿主(Host)”在IIS中;

客户端激活远端Remoting Objects的调用方则得到了这个异常“BadImageFormatException”。

 

比如浏览Remoting对象的URL

http://localhost/MyHelloServer/Hello.soap?wsdl

立即得到了这样的错误提示:

IIS提示信息

System.BadImageFormatException: 文件“MyHelloServer”的格式无效。
文件名: “MyHelloServer”

 

 

需要特别指出的是,这种情况还有两个关联条件:

l         Remoting服务器端是用VS.NET 2005编译的。

l         你的服务器环境中,既有dotNet framework 1.1,又有dotNet framework 2.0

 [分析]

综上所述,往往人们就开始怀疑自己的编译是不是有问题,或者虚拟目录的权限问题。

但是,当你排除了这两个疑点之后,你应该还要想起一件事:

这种事情是不是和你的部署环境有关系。

 

默认情况下,如果你的机器环境中既有dotNet framework 1.1(通常是1.1.4322);又有dotNet framework 2.0 (通常是2.0.50727)

那么当你在IIS管理器中新建一个虚拟目录的话,默认使用ASP.NET V1.1版本。如下图所示:

defaultASPNETv11

而你的Remoting Objects却是用dotNet framework 2.0编译出来的。在这种情况下,难怪IIS告诉你“文件“MyHelloServer”的格式无效”。

 

[解决]

综上所述,请修改你的虚拟目录的ASP.NET version2.0

目录
相关文章
|
7月前
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
【Azure 云服务】Azure Cloud Service 为 Web Role(IIS Host)增加自定义字段 (把HTTP Request Header中的User-Agent字段增加到IIS输出日志中)
|
7月前
|
网络安全 C++
【Azure Developer】Visual Studio 2019中如何修改.Net Core应用通过IIS Express Host的应用端口(SSL/非SSL)
【Azure Developer】Visual Studio 2019中如何修改.Net Core应用通过IIS Express Host的应用端口(SSL/非SSL)
102 0
|
开发框架 .NET
|
9月前
|
网络协议
windows_server2012搭建iis并配置http重定向 iis转发
windows_server2012搭建iis并配置http重定向 iis转发
402 1
|
7月前
|
C++
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
【Azure云服务 Cloud Service】如何在部署云服务Cloud Service时候通过启动任务Start Task来配置IIS (如开启ARR)
111 2
|
7月前
|
开发框架 .NET 中间件
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
|
9月前
|
Windows
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
iis配置http重定向302转发get请求并去掉最后的斜杠/ iis重定向 iis去除url最后的斜杠 iis重定向链接斜杠(已解决)
322 0