当前位置: 首页 > 面试题库 >

如何为现有WCF服务本地启用JSONP?

龙令
2023-03-14
问题内容

我有一个像下面的方法这样的现有服务:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(AddressFilterMode = AddressFilterMode.Any)]
public class SomeService : ISomething
{
    public SomeListResults SomeList(SomeParams someParams)
    {
          ....
    }
}

有没有一种简单的方法可以同时允许JSONP调用和JSON(检测它)。这是本地人吗?


问题答案:

更新您的配置,如下所示:

<configuration>
  <system.web>
    <compilation debug="true" targetframework="4.0">
    <authentication mode="None">
  </authentication></compilation></system.web>
  <system.webserver>
    <modules runallmanagedmodulesforallrequests="true">
  </modules></system.webserver>
  <system.servicemodel>
    <servicehostingenvironment **aspnetcompatibilityenabled**="true">
    <standardendpoints>
      <webscriptendpoint>
        <standardendpoint **crossdomainscriptaccessenabled**="true" name="">
      </standardendpoint></webscriptendpoint>
    </standardendpoints>
  </servicehostingenvironment></system.servicemodel>
</configuration>

请参阅此处的博客文章,其中提供了创建可跨域访问的wcf服务的演练。

这将使您的服务能够接受来自跨域来源的请求。

在确定是否填充您的响应(jsonp中的p)方面,

感谢@carlosfigueira:

如果使用.Net 4,则JSONP本身受支持。只要请求具有称为“ callback”的查询字符串参数(可以配置此名称),则将使用函数名称填充响应。

否则,您将需要编写一个自定义消息检查器来适当填充响应。



 类似资料:
  • 直到最近,我还认为WCF服务仅限于.NET(即只能从.NET应用程序访问),因为它们公开了一个.NET对象,使用者在该对象上调用方法(然后当然在服务器上运行)。 然后我读到WCF服务是跨平台的;即可以从多种平台访问,而不仅仅是.NET。

  • 问题内容: 我创建了一个wcf服务。当我通过添加为Web服务在.net中简单使用时,效果很好。但我想使其能够用于iPhone应用程序作为JSON调用。为了进行测试,我在.net中使用JSON进行了测试,但无法正常工作。 我知道以前问过这样的问题,我一直在寻找无法为我找到解决方案。 我的配置: 接口代码: Myservice.cs代码: 我想使用以下网址格式调用该方法:http : //exampl

  • 问题内容: 我想使用GCS存储桶作为blobstore的支持,但是我不知道如何在开发服务器上进行设置。 有使用实时服务器上的开发人员控制台执行此操作的说明,但是我在本地开发计算机上找不到有关如何执行此操作的任何信息… 问题答案: 事实证明,您根本不需要执行任何设置。我只是假设使用blobstore上传时有一个具有特定名称的名称,而其中一个是自动为我创建的。 顺便说一句,似乎没有任何地方记录着如何浏

  • 我正试图将wcf restful服务添加到现有的ASP.NET4.0网站(不是mvc)。我发现很难找到一个好的教程,走过添加到一个现有的应用程序/网站。我看到的任何地方都有关于创建新项目(使用wcf restful模板)的说明。基本步骤是什么?既然我是在。NET4.0上,我可以在没有。svc文件的情况下这样做吗?你能给我指点什么教程吗?

  • gRPC新手,找不到任何关于如何在服务器端启用SSL的例子。我使用openssl生成了一个密钥对,但是它报错说私钥无效。 这是我的代码

  • 尝试在计算机上运行JBoss服务器时出现以下错误: 初始化VM时出错指定的最小和最大堆大小不兼容pickerup_java_options:-xmx512m 我正在使用Windows7。当我查阅它时,我发现问题出在Java参数设置上。我尝试将它设置为-xms512m-xmx1024m,但它不工作(不确定我是否正确)。