最近网站做个发短信的,用的亿美的开发包。你说巧不巧,他们给的开发包语言真是全呀,有C#,VC++,delphi,asp,vc++,java,pb,php,算是全呀,还有http,socket之分。可所谓全呀。但你细看,却没有.NET Frameword 1.1 下web类型的版本。找到他们技术人一问,说与Form的一样。怎么可能一样呢?下面错误就可看出:
注意:
[DllImport("HTTPEUCPComm.dll",EntryPoint="SendSMS")] //即时发送
public static extern int SendSMS(string sn,string mn,string ct);
要引入命名空间:using System.Runtime.InteropServices;
这个到跟Form的一样,下面就不一样了
错误:
无法加载 DLL (HTTPEUCPComm.dll)。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.DllNotFoundException: 无法加载 DLL (HTTPEUCPComm.dll)。
源错误:
|
原因:Form下直接用把ddl放到exe所在目录下就好了,但webForm就不行了,想项目先找bin下的ddl,于是就放到bin就好了。这种静态调用ddl,跟我们动态调用ddl不一样。
解决方案:就是把哪个ddl放到bin下就行了。
还有个不一样的,MessageBox.Show在webForm根本没有,还好自己以前写了一个,现在在这用上了。
看了这里亿美的.NET Frameword 1.1 (C#)web就成功了。