作者kting0918 (kaiting)
看板C_Sharp
标题[问题] Silverlight中的Assembly及StreamReader
时间Mon Nov 8 20:59:31 2010
大家不好意思,因为开发Silverlight专案到一半问题不能解决,
只好来这样求问大家的意见=口=
就是我发现Silverlight是不是因为网页的关系,
所以任何读取本机伺服器的档案都有一点困难,
原本的程式码像是这样:
StreamReader sr = new StreamReader("CommandTable.txt");
while (sr.Peek() != -1)
{
string str = sr.ReadLine();
string[] stp = str.Trim().Split(',');
List<ICommand> cmdlist = new List<ICommand>();
for (int i = 1; i < stp.Length; i++)
{
cmdlist.Add((ICommand)Assembly.Load("SilverlightApplication1").
CreateInstance("SilverlightApplication1." + stp[i]));
}
CmdDic.Add(stp[0], cmdlist);
}
这一段之中有两个错误,其中一个是StreamReader()不允许直接读档案
(可是我要资源档阿= =)
另外一个是Assembly的问题,她写IO.FileLoadException无法载入档案或组件
"SilverlightApplication1...."
原本以为这两个应该是两个问题,但是都跟读取本机资源有关,
这件事情让我有点纳闷是不是有关联性....
所以来请教大家的看法,不知道有没有比较好的解法呢?谢谢=)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.19.42
2F:→ popmentos:erlight-loading-external-assemblylibrary-dynamically 11/08 22:06
3F:→ popmentos:这一篇好像有关,好像要透过非同步呼叫服务 11/08 22:07
4F:推 ashram:安全性的关系silverlight不允许直接读取外部档案 11/08 22:11
5F:→ ashram:如果resourece内容不会变动,可以包进专案里 11/08 22:12
6F:→ ashram:如果是会变动的可以用WebClient来取得档案 11/08 22:13
7F:→ ashram:不过如果跨网域的话 还要考虑原则档clientaccesspolicy.xml 11/08 22:15
8F:→ kting0918:QAQ 我以为这个架构很美 但是结果居然如此唉唉 11/08 23:31
9F:→ kting0918:谢谢大家QAQ 11/09 00:00
10F:→ ashram:silverlight是N-Tier架构 对程式撰写维护其实有诸多好处 11/09 08:51
11F:→ ashram:只是不习惯此架构的话 就要多点时间上手了 11/09 08:51