小编Bre*_*own的帖子

C#Type A无法转换为B类(InvalidCastException)...上下文地狱?

我的webapp有一个非常不愉快的问题.

该应用程序的设计如下:
- 根应用程序正在加载Flex SWF,后者又在子应用程序(MagickECB)中加载第三方Flex SWF模块.
- 两个应用程序都引用了Albums.dll,在/ bin/ MagickECB/bin中找到的dll ,两个应用程序在IIS中共享相同的应用程序池.

编辑:这是两个项目,根应用程序项目和子应用程序项目.Subapp项目参考根应用程序项目.

从根应用程序的flex应用程序加载子应用程序的flex模块时,我们会随机获得一个强制转换错误,如下所示:

获取Photobook的配置时出错:[A] Albums.LocalizationConfiguration无法转换为[B] Albums.LocalizationConfiguration.类型A源自'Albums,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'在上下文' Default '位置' C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\magickecb\4414db97\126f5aaf\assembly\dl3\cf281292\4a6ecec8_8a7bcb01\Albums.DLL '.类型B源自位于' C:\ WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files的上下文' LoadFrom '中的'Albums,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null' \ magickecb\4414db97\126f5aaf \组件\ DL3\017fab88\a91238d1_7977cb01 \相册.".在Albums.CGlobal.GetUserLocale(String userHandle)中的Albums.LocalizationConfiguration.GetConfig()

试图调查这个问题,我发现了GetConfig方法导致返回的强制转换错误

return (LocalizationConfiguration)ConfigurationManager.GetSection("Localization/Localization");
Run Code Online (Sandbox Code Playgroud)

Web.config中的部分声明如下:(编辑:根应用程序的web.config)

<sectionGroup name="Localization"> 
    <section name="Localization" type="Albums.LocalizationConfigurationHandler, Albums"/>
</sectionGroup>
Run Code Online (Sandbox Code Playgroud)

我的猜测是GetSection的内部代码试图在"LoadFrom"上下文中加载Albums.dll,因此导致与/ bin路径中加载的原始Albums.dll发生冲突(请参阅上下文问题)

我还注意到/ MagickECB/Bin中的其他dll也引用了Albums.dll,所以我重建所有项目,以便每个DLL引用相同版本的Albums.dll

最后,如果您检查临时文件中的dll完整路径,则扩展名是不同的(大写与小写).

关于如何解决这个问题的任何意见将不胜感激!!

.net c# load scope assemblies

9
推荐指数
1
解决办法
1万
查看次数

HTML5 - 离线模式,localStorage和安全性都在船上

我的客户希望能够在线离线工作来操作数据,通常是创建或检索产品.

在线时,他想使用Web服务和服务器数据库,但是当离线(网络中断或其他)时,他希望数据在localStorage中持久化和加密.

我要去一个javascript加密l​​ib,从登录页面获取密码,并使用密码派生密钥加密密码.密钥将存储在一个简单的javascript var中(页面是动态的,因此不会更改页面).

您对此事有何看法?您预先设定了哪些解决方案?任何好的javascript加密l​​ib?

javascript html5 offline cryptography local-storage

6
推荐指数
1
解决办法
1888
查看次数

标签 统计

.net ×1

assemblies ×1

c# ×1

cryptography ×1

html5 ×1

javascript ×1

load ×1

local-storage ×1

offline ×1

scope ×1