标签: wcf

将json发送到(不是REST)WCF服务

我需要有一个javascript,它将对象作为json发送到WCF服务以保存它.我有javascript:

 <script>
      $(document).ready(function(){

                    $("#submitButton").click(function() {

console.info("executing submitButton click");
TestJSon();
 );
      });
       </script>
        <button type="button" id="submitButton">Save</button>
        <script>
            var varType;
            var varUrl;
            var varData;
            var varContentType;
            var varDataType;
            var varProcessData;          
            //Generic function to call AXMX/WCF  Service        
            function CallService() 
            {
            console.log('called CallService')
                    $.ajax({
                        type        : varType, //GET or POST or PUT or DELETE verb
                        url         : varUrl, // Location of the service
                        data        : varData, //Data sent to server
                        contentType : varContentType, // content type sent to server
                        dataType    : varDataType, //Expected data …
Run Code Online (Sandbox Code Playgroud)

.net javascript wcf json

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

学习windows azure应用程序和WCF服务开发的最佳方法


我打算学习windows azure应用程序和WCF服务的开发.
是否有任何的学习结构(学科内容描述)遵循/参考,使我们可以学习的主体有效地
在此先感谢

wcf azure

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

在WCF的实体类中使用[Datacontract]属性有什么用处

我正在使用.net 4.0和wcf服务.我有业务实体类,没有使用[Datacontract]属性定义.

当我尝试检索少于1000个类型的业务实体类的记录时,它工作正常,但是当我尝试检索超过1000个类型的业务实体类的记录时,它会抛出此异常:

格式化程序在尝试反序列化消息时抛出异常:尝试反序列化参数http://tempuri.org/:Securities时出错 .InnerException消息是'对象图中可以序列化或反序列化的最大项数是'65536'.更改对象图或增加MaxItemsInObjectGraph配额.".有关更多详细信息,请参阅InnerException.

当使用[DataContract]为业务实体类定义的属性时,问题得到了解决.

  1. 那么[DataContract]属性在上述情况下有多重要?
  2. 使用使用[DataContract]attribute 定义的业务实体类和不使用[DataContract]属性有什么区别?

wcf datacontracts

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

WCF - 使用"DataSet"通过NetTcpBinding传输数据是很好的

其中一个服务合同将一个Huge传递DataSet给客户.我正在使用BufferedTranfer模式.

在极少数情况下,我有更多的数据要发送,因为这个原因我很困惑将TransportMode更改为Streamed.

这是"DataSet"通过传输数据使用的良好做法NetTcpBinding 吗?

任何替代品DataSets

c# wcf buffer memory-management dataset

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

如何将WCF服务添加到现有的winforms应用程序?

我有一个winform应用程序,可以处理一些数据输入和计费.我想添加一个只能通过本地LAN访问的WCF服务.我希望我的计费程序可以查询我的数据库并为客户端获取一些数据.重要的是,这可以在-same-程序中完成,而不是创建另一个程序.

我的问题是很难设置这样的WCF服务,我从现有的winform应用程序开始,而不是创建一个新的WCF服务.这是一个简单的问题,正确的使用指令或从根本上缺少其他东西,因为我没有把它设置为一个WCF服务从一开始?

另一个问题是我需要担心线程还是由WCF服务自动处理?例如,如果10台计算机同时查询我的winforms应用程序,WCF将无缝地处理该问题,或者我是否需要实现其他功能来处理这个问题?

谢谢阅读

c# service wcf lan

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

WCF用户身份验证最佳实践

我正在编写一个使用WCF的应用程序,以便与Web服务进行通信.数据库还用于存储与用户相关的数据,例如凭证.数据库中的密码是散列+盐渍的.

用户必须使用提供给他的用户名和密码手动登录.然后,应用程序使用代理与负责身份验证的Web服务进行通信.然后,Web Service检查用户是否存在并将数据返回给客户端,然后客户端显示数据.否则,如果凭据无效或服务器无法访问,则会显示错误.

我的问题:

  • 为了减少Web服务所做的工作量,我希望客户端完成身份验证过程.换句话说,客户端向Web服务发送用户名,然后Web服务检查数据库中是否存在"用户"表中存在该用户名的条目.如果是,则Web Service将散列和加密的密码(从DB)返回给客户端.然后,客户端将用户输入的密码与获得的散列/盐渍密码进行比较.没有解密,输入的密码只是使用相同的salt字节和密码进行哈希处理.

    这是可接受的行为吗?

  • 如果在数据库中找不到提供的用户名,我该怎么办?服务器是否应抛出异常,然后由客户端处理?或者我应该分两步划分身份验证部分:

    1)确保用户存在.

    2)从DB中获取加密密码.

    然后,第一步将返回某个值,客户端将其理解为"用户不存在"(例如:布尔值"False").

.net c# wcf

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

非管理员用户的客户端无法使用net.pipe与服务进行通信

我有一个客户端应用程序,使用net.pipe协议托管WCF服务.客户端无法与在admin用户下运行的其他WCF服务进行通信.

我已经读过你不能在不同用户之间使用net.pipe进行通信.

有没有办法通过它?

wcf named-pipes netnamedpipebinding

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

慢速猎豹没有在app.config中转换端点标签

我喜欢SlowCheetah的原因,但是在我的app.config中使用它来转换端点时遇到了一些问题.我希望也许有人可以看一看,看看我错过了什么,或者过去曾经遇到过这个问题.

app.config默认

  <connectionStrings>

    <add name="MyEntities" connectionString="metadata=res://*/RFPModel.csdl|res://*/RFPModel.ssdl|res://*/RFPModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=developmentServer;initial catalog=databaseName;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>

  <system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <binding name="BasicHttpBinding_IMasterEngineService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
          <security mode="None">
            <transport clientCredentialType="None" proxyCredentialType="None" realm="" />
            <message clientCredentialType="UserName" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://DevelopmentServer/WebServices/MasterEngine/MasterEngineService.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IMasterEngineService" contract="OverlayFarEnd.IMasterEngineService" name="BasicHttpBinding_IMasterEngineService" />
    </client>
  </system.serviceModel>

</configuration>
Run Code Online (Sandbox Code Playgroud)

Release for Release是:

<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations …
Run Code Online (Sandbox Code Playgroud)

wcf windows-services app-config slowcheetah

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

将参数传递给WCF服务构造函数

我需要将一个存在的 DI容器作为参数传递给WCF服务构造函数为了做到这一点,我正在使用IInstanceProvider WCF服务应该托管在自托管中.

public class CustomInstanceProvider : IInstanceProvider, IContractBehavior
{
    private readonly IUnityContainer UnityContainer;

    public CustomInstanceProvider(IUnityContainer unityContainer)
    {
        if (unityContainer == null)
        {
            throw new ArgumentNullException("unityContainer");
        }

        UnityContainer = unityContainer;
    }


    #region Implementation of IInstanceProvider

    public object GetInstance(InstanceContext instanceContext)
    {
        return new Service(UnityContainer);
    }

    public object GetInstance(InstanceContext instanceContext, Message message)
    {
        return this.GetInstance(instanceContext);
    }
    public void ReleaseInstance(InstanceContext instanceContext, object instance)
    {

    }

    #endregion

    #region Implementation of IContractBehavior

    public void Validate(ContractDescription contractDescription, ServiceEndpoint endpoint)
    {

    }

    public void ApplyDispatchBehavior(ContractDescription contractDescription, …
Run Code Online (Sandbox Code Playgroud)

c# wcf self-hosting c#-4.0

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

WCF如何避免定义许多操作契约

在我的界面中,我将有很多功能.所有这些都将绑定为OperationContract.

有没有办法避免在这些函数中的每一个上键入[OperationContract]?

[ServiceContract]
public interface IStudentService
{
    [OperationContract]
    String GetStudentFullName (int studentId);

    [OperationContract]
    StudentInformation GetStudentInfo (int studentId);
    ... about 20 more
}
Run Code Online (Sandbox Code Playgroud)

.net c# wcf

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