小编djo*_*of2的帖子

配置IIS Express 8以启用CORS

我正在编写WCF服务,这些服务将被客户端使用,因此他们需要处理跨源请求.我在启用开发服务器接受此类请求时遇到问题.这是场景:

  • 我在Visual Studio 2012的实例中运行WCF项目,使用IIS Express 8作为特定端口上的服务器.
  • 我在另一个Visual Studio 2012实例中运行客户端项目,也使用IIS Express 8作为服务器.该项目使用AJAX来使用其他项目中的服务.

当我在IE中运行客户端项目没有问题,因为IE不发送预检OPTIONS请求.当我在Chrome中运行它时,预检OPTIONS请求返回405方法不允许,Chrome放弃了该服务.以前版本的Chrome只会忽略错误并继续执行实际的POST请求(或Get,无论......),但后来的版本似乎更挑剔.

我还使用已部署的WCF项目遇到了这个问题,并通过将OPTIONSVerbHandler移动到IIS中Handler Mappings列表的顶部来解决它.

我应该指出,我正在使用我能想到的最慷慨的web.config设置来尝试允许CORS.例如,我在WCF项目的配置中有这个:

<httpProtocol>
  <customHeaders>
    <remove name="X-Powered-By" />
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Headers" value="*" />
    <add name="Access-Control-Allow-Methods" value="*" />
    <add name="X-Powered-By" value="*" />
  </customHeaders>
</httpProtocol>
Run Code Online (Sandbox Code Playgroud)

无论如何,对代码运行的WCF项目的任何客户端跨源请求都会因405错误而失败.

是否有任何帮助设置WCF项目本身或IIS Express 8以启用CORS?

谢谢!

wcf cross-domain cors iis-express visual-studio-2012

10
推荐指数
2
解决办法
3万
查看次数

在Xamarin浏览器控件中访问html响应内容

我似乎有一个不寻常的要求,就是我和我的同事无法在我们的Xamarin项目中实现。我们试图做的是动态处理浏览器导航到的任何页面的内容,而不是简单地处理从其访问的初始URL返回的内容。

我已经看到了访问以这种方式返回的内容的解决方案:

Xamarin:如何从WebView的页面中获取HTML?

但是,仅当浏览器从指向的初始URL收到第一个html响应时,此代码才会运行。我们需要动态处理浏览器收到的任何内容,即使将其重定向到其他URL或用户单击内容中的链接也是如此。我们已经使用WebBrowser.DocumentCompleted事件在.NET本机Windows客户端中实现了此功能,只要控件加载内容,就会触发该事件。Xamarin WebViewRendered加载内容时,除第一次加载外,我们没有发现任何引发事件或调用的方法,因此我们无法获取后续资源的内容。

总结一下:如何动态获取Web浏览器导航到的任何URL的内容?答案可以包括可部署到Android和iOS的.NET Xamarin项目中可访问的任何内容,包括第三方开源代码。

c# xamarin.ios xamarin.android xamarin

2
推荐指数
1
解决办法
4460
查看次数