一个奇怪的问题,VS2005上web service在指定路径写文件,调试通过,但发布以后在网页里面运行确得不到想要的结果。高分相送!

ioleon13 2007-10-25 05:33:27
开发环境:VS2005,WinXP SP2
用VC写了一个扩展的DLL,Test.DLL,定义一个函数接口:DLL_Test(char* filename),在指定路径下写一个文件,如:D:\test.txt。
创建一个Webservice,关键代码:
[DllImport("DBQueryOutputD.dll")]
public static extern int DLL_Test(string strTest);


[WebMethod]
public int GetDllTest(string strTest)
{
return LH_Test(strTest);
}
调试运行正确并且可以生成文件D:\test.txt。发布网站后,在浏览器中运行,问题就来了,成功是成功了,但并没有生成D:\test.txt这个文件,请问这是什么原因啊?而其它不涉及到写文件的操作都正常,非常奇怪。高手帮忙!
Webservice调试运行的地址是:http://localhost:1769/WebServer/Service.asmx
浏览器中的地址是http://127.0.0.1/WS,也就是发布的地址
...全文
167 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuxiaofeigoodluck 2009-12-14
  • 打赏
  • 举报
回复
ioleon13 2007-11-22
  • 打赏
  • 举报
回复
问题解决了。调试时写的文件实际上是写在服务器上的,当发布网站运行时,对客户端写文件是行不通的,只能传递一串字符给客户,客户端收到字符串后再在本机写文件就OK了!!谢谢关注!结贴给分
vefo 2007-11-14
  • 打赏
  • 举报
回复
权限问题

应该是部署的主机权限问题吧,将iuser、iwam 权限放大试试

benimaru8610 2007-11-14
  • 打赏
  • 举报
回复
我也遇到了调试和发布网站结果不一样的情况啊~~~~烦恼ING
wszhoho 2007-10-29
  • 打赏
  • 举报
回复
LH_Test函数是不是把错误给try掉了,显示不了错误,估计是服务器的磁盘权限的问题,不能写。
ioleon13 2007-10-29
  • 打赏
  • 举报
回复
为什么调试的时候没有问题,在浏览器中运行就不行了呢,再顶!!
dragonlyf 2007-10-29
  • 打赏
  • 举报
回复
应该是部署的主机权限问题吧,将iuser、iwam 权限放大试试
糊里糊涂 2007-10-26
  • 打赏
  • 举报
回复
可能是参数传递的问题。C#里的string传递到DLL后,在DLL里用CreateFile创建文件时出现一些问题。可以在具体的环境下调试一下(可能还要注意UNICODE字符的区别)
yuanlai123 2007-10-26
  • 打赏
  • 举报
回复
顶了,捡分
ioleon13 2007-10-25
  • 打赏
  • 举报
回复
贴代码的时候忘记改了,应该为:
[DllImport("Test.DLL")]
public static extern int DLL_Test(string strTest);


[WebMethod]
public int GetDllTest(string strTest)
{
return DLL_Test(strTest);
}

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧