使用我的Windows Phone(HttpWebRequest对象),我试图访问部署在IIS上的WCF REST服务。
当我通过Wi-Fi提出请求时,我得到了成功的回复。 当我尝试通过3G呼叫相同的服务时,我得到了这样的回复:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="FEHLER" title="ERROR">
<p>
The requested item could not be loaded <br/> Wrong MIME-Type
<do type="prev" label="back">
<prev/>
</do>
</p>
</card>
</wml>
我需要修复什么才能使工作正常(客户端或服务器设置&lt; - 服务器的设置很难改变,因为我使用托管)?
答案 0 :(得分:2)
原来我需要删除下面的注释行。
HttpWebRequest hwrq = (HttpWebRequest)WebRequest.Create(url);
//hwrq.Accept = "text/xml"; //this was causing problems (only on 3G)
hwrq.Method = "POST";
答案 1 :(得分:0)
只需确认在wifi上发送的http请求的内容类型标头,并将其与3G请求进行比较。经由3G网络的请求可以在报头中生成不同的内容类型。 你可以用fiddler检查这个。