首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于ResourceWriter文件占用有关问题

2012-02-22 
关于ResourceWriter文件占用问题C# codeprivate bool writeInResources(){IResourceWriter writer null

关于ResourceWriter文件占用问题

C# code
        private bool writeInResources()        {            IResourceWriter writer = null;            try            {                writer = new ResourceWriter(@"myResources.resources");                writer.AddResource("day1", Constant.arrayMon);                writer.AddResource("day6", Constant.arraySat);                writer.AddResource("day7", Constant.arraySun);                writer.AddResource("day5", Constant.arrayFri);                writer.AddResource("day4", Constant.arrayThurs);                writer.AddResource("day3", Constant.arrayWed);                writer.AddResource("day2", Constant.arrayTues);            }            catch (Exception e)            {                MessageBox.Show(e.Message);                return false;            }            finally            {                if(writer !=null)                    writer.Close();            }            return true;        }


为什么经常抛出这样的异常:
文件“E:\visualstudio\SBMProj\SBMProj\bin\Debug\myResources.resources”正由另一进程使用,因此该进程无法访问此文件

以下是读的
C# code
        private List<int> readOutResources()        {            ResourceManager rm = null;            List<int> l = null;            try            {                rm  = ResourceManager.CreateFileBasedResourceManager("myResources", "/", null);                if (rm == null) return null;                l = rm.GetObject("day" + dayOfWeek.ToString()) as List<int>;            }            catch (Exception e)            {                return null;            }            return l;        

再也没有其他地方使用了,有时候写正常,有时候写就抛那个异常,为什么啊

[解决办法]
你用 release 测试一下,不知道有没有多线程。推测是 .net debug 影响了。
[解决办法]
加个lock试试
[解决办法]
因为文件被锁定啦,嘿嘿~~喵乌~
[解决办法]
建议不用close,改用try finally {dispose试试}

热点排行