繁体   English   中英

WCF IIS托管问题

[英]WCF IIS hosting issue

我正在使用VSTS2008 + C#+ .Net 3.5开发以IIS 7.0 / 6.0托管的WCF服务。 我正在从以下MSDN链接中学习,

http://msdn.microsoft.com/en-us/library/ms733766.aspx

我的问题是,假设我在类库中实现WCF服务并编译成某些特定的DLL程序集。 在service svc文件中,似乎没有办法指定程序集,在MSDN示例中,仅指定了完整的(包括名称空间)类名。 那么,WCF运行时如何在服务器端找到包含DLL程序集实际实现的程序集? 即使我将程序集放入虚拟目录的bin子文件夹中,并且如果bin子目录中有许多DLL,WCF运行时如何知道哪个dll包含特定WCF服务的实际实现?

Marc将程序集名称放在名称空间后,并用逗号分隔是正确的:在这样做时,我可以确认它对我自己的WCF服务有效。 不需要“ dll”扩展名。

因此,听起来您的错误404.3是由于其他原因引起的。 我敢肯定我以前有过那个,尽管当我尝试到现在时我无法复制它。 但是我感觉它与IIS中文件夹的权限有关-也许检查一下是否进一步打开权限可以解决此问题。 我认为相关的用户将是您自己计算机上的IIS_IUSRS,也可能是其他进程,例如NETWORK SERVICE(尽管我可能对此有误)。

我想到的另一件事是加密。 我发现当我的Web文件夹被加密(使用标准的Vista加密)时,IIS无法正确访问它们,并且会出现这样的错误。 因此,如果您对这些文件/文件夹进行了加密,则可以尝试将其关闭。

不起作用 -我将其保留在此处只是为了提高可见性,以便其他SO用户可以查看不起作用的地方)

我需要检查一下,但是我可以肯定它遵循通常的模式-因此您也可以编写"Some.Namespace.Service, Some.Assembly.dll" (如果失败,请尝试省略.dll从头开始)。

我似乎记得这里的正常情况有一个小变化...通常,运行时将遵守[assembly:TypeForwardedTo(...)] ,但我不认为WCF会处理此问题-否则,将使用标准类型/ dll字符串应该起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM