我有一个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的位置。
命名空间/类比这更具描述性,我只是为了这个问题的目的使它们成为基本的。
答案 0 :(得分:1)
抱歉,AFAIK您无法从网站根目录外的显式文件路径中提取DLL。您通常有两种选择: 1)使用当前应用程序的/ bin目录(制作其他应用程序的/ bin的副本) 2)将DLL放入全局程序集缓存(GAC)
顺便说一句,这已经在SO的其他一些地方被问过,比如here。如果您的/ bin DLL仅在/ foo / bar /中使用,则可以做的一件事是转换为IIS应用程序,然后将DLL移动到新的/ foo / bar / bin目录中。然后你只需要管理一个DLL副本。