在IIS中的另一个站点中引用Web服务时,Web服务失败

时间:2009-10-13 18:50:39

标签: asp.net web-services

我有一个C#3.5网络服务,在http://domain/foo/bar/WS.asmx

访问时可以正常工作

/ foo / bar部分将来可能会发生变化,所以我想给人们一个更稳定的网址,我可以更新,而不需要对它们进行任何更改。我在IIS中创建了一个站点,并将其主目录设置为WS.asmx所在的位置。现在,当我尝试从http://domain2/WS.asmx访问它时,我得到:

  

描述:期间发生错误   解析所需的资源   服务这个请求。请查阅   以下特定的解析错误   详细信息并修改您的源文件   适当。

     

分析程序错误消息:无法创建   输入'Namespace.WS'。

     

源错误:第1行:<%@ WebService   Language =“C#”CodeBehind =“WS.asmx.cs”   Class =“Namespace.WS”%>

两种情况下的程序集都在http://domain/bin但是当我来自domain2时,它似乎不知道在文件系统中找到3个文件夹的\ bin的位置。

命名空间/类比这更具描述性,我只是为了这个问题的目的使它们成为基本的。

1 个答案:

答案 0 :(得分:1)

抱歉,AFAIK您无法从网站根目录外的显式文件路径中提取DLL。您通常有两种选择: 1)使用当前应用程序的/ bin目录(制作其他应用程序的/ bin的副本) 2)将DLL放入全局程序集缓存(GAC)

顺便说一句,这已经在SO的其他一些地方被问过,比如here

如果您的/ bin DLL仅在/ foo / bar /中使用,则可以做的一件事是转换为IIS应用程序,然后将DLL移动到新的/ foo / bar / bin目录中。然后你只需要管理一个DLL副本。