[英].NET Webservice using ODP.NET 64bit
我在.net4.0中创建了一个Web服务。 它通过ODP.NET4连接到oracle数据库。 仅供参考,我使用了ODAC112021Xcopy_X64并安装了odp4和asp4。 该服务在开发环境中运行良好。
但是将其发布到在同一台计算机上运行的IIS之后,出现以下异常:
System.ServiceModel.FaultException`1 was unhandled Message=Could not load file or assembly 'Oracle.DataAccess, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) Source=mscorlib StackTrace: Server stack trace: at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter) at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) Exception rethrown at [0]
我使用64位odp.net,我在64位Windows Server 2008 R2上运行,并在Visual Studio中切换到64位。
谁能告诉我我缺少什么或做错了什么?
我还尝试将ORACLE.DATACCESS.dll
复制到bin文件夹。
提前致谢
检查编译器计算机(32/64位)中的ODAC目标平台是否与放置Web服务的生产服务器相同。
由于无法重新创建问题,因此此操作是黑暗的,但是在IIS中运行时,您需要确保所使用的特定框架(这里为4.0)的信任级别可以访问适当的dll和文件。
您可以卸载/重新安装odp位,或直接在%ora_home \\ product \\ 11.2.0 \\ client_1 \\ odp.net \\ bin \\ 4 \\ OraProvCfg.exe中调用“ oracle权限”软件
另外,请检查自述文件(特别是此部分):%ora_home \\ product \\ 11.2.0 \\ client_1 \\ odp.net \\ doc \\ readme.txt(这是我认为您可能感兴趣的简介)
==============================
ORACLEPERMISSION RELATED NOTES
==============================
1. Configuring OraclePermission for Web Applications in high or medium trust
For Web Applications operating under high or medium trust, OraclePermission
needs to be configured in the appropriate "web_<trust level>.config" file so
that the application does not encounter any security errors. This
configuration can be done through the OracProvCfg tool. OraProvCfg.exe will
make the appropriate entries in both web_hightrust.config as well as
web_mediumtrust.config associated with the specified .NET framework version.
Given below is an example on the usage of OraProvCfg tool for configuring
OraclePermission in a .NET 2.0 web application:
OraProvCfg.exe /action:config /product:odp /component:oraclepermission
/frameworkversion:v4.0.30319
/providerpath:<Oracle.DataAccess.dll full path>
On running the above command, The following entry will be made in
"web_hightrust.config" and "web_mediumtrust.config" under ASP.NET permissionset
<IPermission class="Oracle.DataAccess.Client.OraclePermission, Oracle.DataAccess, Version=4.112.2.50, Culture=neutral, PublicKeyToken=89b483f429c47342" version="1" Unrestricted="true" />
OraProvCfg can also be used to remove these entries from these config files
when they need to be removed.
OraProvCfg.exe /action:unconfig /product:odp /component:oraclepermission
/frameworkversion:v4.0.30319
/providerpath:<Oracle.DataAccess.dll full path>
2. Configuring OraclePermission For Windows Applications in partial trust
For Windows applications operating in a partial trust environment, the
OraclePermission entry should be specified under the appropriate permission
set in security.config file. (Security.config is available in
%windir%\Microsoft.NET\Framework\{version}\CONFIG). The example below
specifies the OraclePermission entry that would be required for a .NET 2.0
Windows application
<IPermission class="Oracle.DataAccess.Client.OraclePermission, Oracle.DataAccess, Version=4.112.2.50, Culture=neutral, PublicKeyToken=89b483f429c47342" version="1" Unrestricted="true" />
专门检查那些配置文件(“ web_hightrust.config ”和“ web_mediumtrust.config ”),以搜索相似的条目
<IPermission class="Oracle.DataAccess.Client.OraclePermission,
Oracle.DataAccess, Version=4.112.2.50, Culture=neutral,
PublicKeyToken=89b483f429c47342" version="1" Unrestricted="true" />
(此自述文件来自EF的Beta 3,因此我希望版本号有所不同)
您也可以查看此论坛(它看起来类似于此思路) https://forums.oracle.com/forums/thread.jspa?threadID=575320
hth
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.