问题描述
各位大神,小弟开发的webapi项目,在本地发布调用都正常,但是发布到服务器上调用出现奇怪问题1、首次调用接口居然返回如下图的html(我定义的返回数据类型是json),如下图是Postman工具模拟调用的而返回的head信息里只有如下图内容:2、但是用浏览器直接打开接口地址,却返回我正常期待的接口数据,然后再用Postman请求的到正常数据用抓包软件看到的也是奇怪的事情,居然相同的地址请求了3次:第一次返回数据依然如问题1那样的html刷新页面的js,第二次返回值只有head部分,第三次才返回是我接口期待的值3、这样先在浏览器访问接口成功后再用Postman工具调用其他接口才会一切正常,但是假如大概20到30多分钟不再请求接口了,之后再请求居然又回到问题1那种情况,返回的是html4、我在publicclassAuthorizeByTokenHandler:DelegatingHandler这个类里边的SendAsync方法里写了请求日志记录,如果返回的是那段html的话居然日志也没有记录到请求的痕迹,说明没进入DelegatingHandler5、劳烦前辈给与解答,不胜感激!可以按照我描述的情况,请求截图里的地址实际测一测,感谢!
解决方案
解决方案二:
怕沉了,自己顶,着急啊
解决方案三:
第三次才是期待的值?第三次不是403么设定返回类型是json了、为什么Content-Type不是?服务器配置的问题
解决方案四:
感觉这是你什么代码做的事情,不是api自身做的
解决方案五:
测试时,换一个服务器,换一个服务器商。你们是图便宜租了一个不靠谱的小空间吧?
解决方案六:
引用2楼u010811342的回复:
第三次才是期待的值?第三次不是403么设定返回类型是json了、为什么Content-Type不是?服务器配置的问题
403就是我期待值,未提交凭据就拒绝调用是对的,我在DelegatingHandler里边记录了日志,但是也没有记录到此请求日志,似乎根本没到.net这里来,查看iis的日志也是没有调用记录,就莫名返回那段html
解决方案七:
引用3楼starfd的回复:
感觉这是你什么代码做的事情,不是api自身做的
还没有运行到代码那里呢,iis日志里也没有记录
解决方案八:
引用4楼sp1234的回复:
测试时,换一个服务器,换一个服务器商。你们是图便宜租了一个不靠谱的小空间吧?
嗯,我再换个服务器试试,服务器是店训赢克的,没多差吧,真不知道是服务器那里设置不对
解决方案九:
首先,如果你租服务器而不是“空间”,那么基本上不会出现这类问题。也就是说你可以用自己的远程服务器,或者别人租的一个服务器(而不是空间)上面另外部署一个端口、网站,来测试自己的网站软件是否有bug。其次,再确定了自己的软件没有这类bug之后其实就好办了。你们租空间应该找好一点的空间商。
解决方案十:
引用8楼sp1234的回复:
首先,如果你租服务器而不是“空间”,那么基本上不会出现这类问题。也就是说你可以用自己的远程服务器,或者别人租的一个服务器(而不是空间)上面另外部署一个端口、网站,来测试自己的网站软件是否有bug。其次,再确定了自己的软件没有这类bug之后其实就好办了。你们租空间应该找好一点的空间商。
嗯,我先换个服务器部署试试,目前服务商是电讯赢蝌的,这个怎么样呢?我们的运维哥还搬过去了什么刀片服务器,回来吹的很牛逼的样子
解决方案十一:
你本地发布,是怎么测试调用的?外部的话,记得你是跨域。