当前位置: 代码迷 >> Web Service >> 一个奇怪的有关问题,VS2005上web service在指定路径写文件,调试通过,但发布以后在网页里面运行确得不到想要的结果。高分相送
  详细解决方案

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

热度:592   发布时间:2011-12-15 23:41:24.0
一个奇怪的问题,VS2005上web service在指定路径写文件,调试通过,但发布以后在网页里面运行确得不到想要的结果。高分相送!
开发环境: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,也就是发布的地址

------解决方案--------------------
顶了,捡分
------解决方案--------------------
可能是参数传递的问题。C#里的string传递到DLL后,在DLL里用CreateFile创建文件时出现一些问题。可以在具体的环境下调试一下(可能还要注意UNICODE字符的区别)
------解决方案--------------------
LH_Test函数是不是把错误给try掉了,显示不了错误,估计是服务器的磁盘权限的问题,不能写。
------解决方案--------------------
应该是部署的主机权限问题吧,将iuser、iwam 权限放大试试
------解决方案--------------------
我也遇到了调试和发布网站结果不一样的情况啊~~~~烦恼ING
------解决方案--------------------
权限问题

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

  相关解决方案