以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  阿里云服务器端,弹出错误:路径中具有非法字符。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105748)

--  作者:zhangjian222200
--  发布时间:2017/8/25 12:41:00
--  阿里云服务器端,弹出错误:路径中具有非法字符。
.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.6.12.1
错误所在事件:
详细错误信息:
路径中具有非法字符。

我也不知道是谁访问的,怎么会有非法字符呢?

创建操作日志:
http://www.foxtable.com/webhelp/scr/0435.htm
[此贴子已经被作者于2018/1/21 17:42:24编辑过]

--  作者:有点甜
--  发布时间:2017/8/25 14:29:00
--  

应该是乱码导致的,比如访问的路径、上传的文件名等。不影响运行,就可以忽略。

 

http://wechat.foxtable.com:9009/WebHelp/scr/we0008.htm

 


--  作者:zhangjian222200
--  发布时间:2017/11/3 19:53:00
--  
如果会员在手机端,点击微信公众号内底部链接,进入ft开发的网站,如果不涉及微信信息回调什么的

问题1:
楼上页面中,下图代码没有必要写在项目内,这个理解对吗?
问题2:
设置内部函数loglet后,是否需要在httprequest里面,像网页那样引用内部函数代码?

图片点击可在新窗口打开查看此主题相关图片如下:qq图片2017110319450999.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/11/3 20:17:52编辑过]

--  作者:有点蓝
--  发布时间:2017/11/3 20:36:00
--  
开启BeforeShowErrorMessage项目事件设置e.Cancel = True
就会自动捕捉异常,错误就不会影响服务的运行

然后就可以通过分析日志查看什么地方出错


--  作者:zhangjian222200
--  发布时间:2017/11/3 20:47:00
--  
我已经按照:http://wechat.foxtable.com:9009/WebHelp/scr/we0008.htm

在项目事件BeforeShowErrorMessage设置了:
Functions.Execute("LogText",e.ex)  ’将这一行及内部函数logtext删除,就可以?在哪看日志文件?
e.Cancel = True

在内部函数logtext设置如下代码:
Dim v  = Args(0)

Dim msg As String

If Typeof v Is Exception Then \'如果是Exception的异常类型,则递归获取所有的异常堆栈

    Do While v IsNot Nothing

        msg &= v.Message &  vbcrlf & v.StackTrace & vbcrlf

        v = v.InnerException

    Loop

Else \'其它情况只能传入错误的文本内容

    msg = v

End If

Output.Logs("AppLogging").Add(Format( Date.Now,"yyyy-MM-dd HH:mm:ss.ffff") & vbCrLf & msg)

Output.Logs("AppLogging").Save(ProjectPath & "Mmsglog.txt",True\'日志位于当前项目目录里

\'Output.Logs("AppLogging").Clear \'已经屏蔽了这一行

[此贴子已经被作者于2017/11/3 20:49:05编辑过]

--  作者:有点蓝
--  发布时间:2017/11/3 20:53:00
--  
logtext函数和项目事件BeforeShowErrorMessage代码完全照搬,不需要做任何改动

然后到发布的project目录里的Mmsglog.txt看日志

--  作者:zhangjian222200
--  发布时间:2017/11/3 20:57:00
--  
其他都照搬了官方文档代码

好像clear是清除日志的,所以去掉了这句,没问题吧?

\'Output
.Logs("AppLogging").Clear
--  作者:有点蓝
--  发布时间:2017/11/3 21:01:00
--  
不能去掉。Clear是清除内存,不是清除文件

日志已经保存,当然要清除内存,不然会重复记录的

--  作者:zhangjian222200
--  发布时间:2017/11/4 23:17:00
--  
红框里的错误,怎么分析?


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看


更多:
2017-11-04 20:44:19.2873
未将对象引用设置到对象的实例。
   在 Foxtable.RequestEventArgs.o___O_0o()

2017-11-05 00:06:35.9675
未将对象引用设置到对象的实例。
   在 Foxtable.RequestEventArgs.o___O_0o()

2017-11-05 19:17:20.3831
未将对象引用设置到对象的实例。
   在 Foxtable.RequestEventArgs.o___O_0o()
[此贴子已经被作者于2017/11/5 22:14:58编辑过]

--  作者:有点甜
--  发布时间:2017/11/5 22:31:00
--  
回复9楼,一般是你 find 或者 sqlfind 的时候,没有找到对应得行,但你又使用了,导致报错。