小编Pri*_*ERO的帖子

WCF服务模拟

今天是个好日子...

显然,我没有为我的WCF服务正确设置模拟.我不希望逐个方法地设置安全性(在实际的代码隐藏中).该服务(目前)是开放的,由内联网上的每个人调用.

所以我的问题是......

问:我错过了哪些web-config标签?

问:我需要在web-config中进行哪些更改才能进行模拟工作?

服务Web.config看起来像......

<configuration>
    <system.web>
        <authorization>
            <allow users="?"/>
        </authorization>
        <authentication mode="Windows"/>
        <identity impersonate="true" userName="MyDomain\MyUser" password="MyPassword"/>
    </system.web>
    <system.serviceModel>
        <services>
            <service behaviorConfiguration="wcfFISH.DataServiceBehavior" name="wcfFISH.DataService">
                    <endpoint address="" binding="wsHttpBinding" contract="wcfFISH.IFishData">
                    <identity>
                        <dns value="localhost"/>
                    </identity>
                </endpoint>
                    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                </service>
            </services>
        <behaviors>
            <serviceBehaviors>
                <behavior name="wcfFISH.DataServiceBehavior">
                    <serviceMetadata httpGetEnabled="false"/>
                    <serviceDebug includeExceptionDetailInFaults="false"/>
                </behavior>
            </serviceBehaviors>
        </behaviors>
    </system.serviceModel>
</configuration>
Run Code Online (Sandbox Code Playgroud)

wcf wcf-security

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

将值传递给jQuery的网络服务调用?

我正在跟踪各种在线示例,但都没有成功。我只是试图创建一个将值传递给Web服务调用的初始示例。

我究竟做错了什么?

我可以使用HttpHandlers轻松实现此功能...这个简单的事情应该不难吗?

更新:
失败的原因是因为缺少“ contentType”属性。下面的答案对此进行了概述。

这是我不断得到的错误:

System.InvalidOperationException: Missing parameter: key.\r\n at System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)\r\n at System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request)\r\n at System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()\r\n at System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()
Run Code Online (Sandbox Code Playgroud)

这是HTML:

<script type="text/javascript">

    var url = '<%=ResolveUrl("~/Services/ProjectDialog.asmx/TryThis")%>';

    function callWebService() {

        jQuery.ajax({
            cache: false,
            type: 'POST',
            complete: onComplete,
            data: '{ "key": 42 }',
            dataType: 'application/json; charset=utf-8',
            error: onError,
            success: onSuccess,
            url: url
        });
    }

    function onComplete(status, xmlHttpRequest) {
        var stop = "";
    }
    function onError(xmlHttpRequest, status, error) {
        var stop = "";
    }
    function onSuccess(data, status, xmlHttpRequest) { …
Run Code Online (Sandbox Code Playgroud)

jquery web-services

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

如何退回所有订单的所有订单商品?

我有一个面试问题,无法完成它,并想知道正确的答案.

public interface ICustomer
{
    string Name { get; }
    IEnumerable<IOrder> Orders { get; }
}

public interface IOrder
{
    IEnumerable<IOrderItem> OrderItems { get; }
}

public interface IOrderItem
{
    IEnumerable<IProduct> Products { get; }
}

public interface IProduct
{
    string Name { get; }
}

public class CustomersController : ApiController
{
    public IEnumerable<IOrderItem> List(ICustomer customer)
    {
        // Return All OrderItems for all orders
    }
}
Run Code Online (Sandbox Code Playgroud)

c# linq

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

在高可用性,主动 - 主动环境中使用UNIQUE IDENTIFIERS作为PRIMARY KEY

我们公司正在将数据库迁移到高可用性,主动 - 主动(HA/AA)环境.我们选择的中间件工具使得在实例之间迁移Identity列非常痛苦.因此,我和其他人想要使用uniqueidentifiers(即Guid)用于所有新表的主键.

注意事项:

  • 有些表格很浅
  • 其他表格会变得非常大(随着时间的推移)
  • 许多遗留表已包含数百万条记录

建议的解决方案:

使用顺序uniqueidentifier作为表的主键

关注:

使用uniqueidentifier表作为主键的数百万条记录的效果.

问题:一般来说,uniqueidentifier在这些情况下你的表现如何?

更新:

按主键我的意思是代理.

sql sql-server

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

WCF异常:无法添加到已知类型的列表中

今天是个好日子...

我收到一个意外的WCF错误,抱怨"已知类型",它们的名称相似,但在不同的名称空间中(请参阅下面的错误).

...请记住我还在试验这一切.

也…

我已经理解了常规Web服务的性质FORCES你要展平你的对象层次结构,但我读过的所有内容都表明你不必用WCF做到这一点......这就是为什么我要尝试这个.

所以我的问题是......

  • 问:是否有可能告诉WCF不要忽略名称间距?
  • 问:我错过了标签吗?不要将WCF标记(下面)考虑到名称间距吗?
  • 问:我是否必须压扁对象层次结构?

基本错误是......

类型'wcfFISH.StateManagement.Contractor.New'无法添加到已知类型列表中,因为已存在具有相同数据协定名称'wcfFISH.StateManagement.Contractor:New'的另一种类型'wcfFISH.StateManagement.CostDivision.New'.

错误看起来像......

An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is:
System.InvalidOperationException: An exception was thrown in a call to a WSDL export extension: System.ServiceModel.Description.DataContractSerializerOperationBehavior
 contract: http://tempuri.org/:IFishData ----> System.InvalidOperationException: Type 'wcfFISH.StateManagement.Contractor.New' cannot be added to list of known types since another type 'wcfFISH.StateManagement.CostDivision.New' with the same data contract name 'wcfFISH.StateManagement.Contractor:New' is already present.
   at System.Runtime.Serialization.DataContract.CheckAndAdd(Type type, Dictionary`2 typesChecked, Dictionary`2& nameToDataContractTable)
   at System.Runtime.Serialization.DataContract.ImportKnownTypeAttributes(Type type, Dictionary`2 typesChecked, Dictionary`2& knownDataContracts)
   at System.Runtime.Serialization.DataContract.ImportKnownTypeAttributes(Type type) …
Run Code Online (Sandbox Code Playgroud)

wcf invalidoperationexception known-types

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

用C#转换大美元价值

我有一个应用程序,管理项目成本从一百万到几十亿美元.最初,用户输入项目的估计值:称为"拨款金额".

问题是:
原始值未按预期转换.一些例子包括:

他们输入:111,222,333
它转换为:111,222,336

他们输入:111,222,333,444
它转换为:111,222,333,440

这里
出现的问题:在以下代码行转换时会出现问题......

project.AppropriationAmount = (!String.IsNullOrEmpty(txtAppropriationDollars.Text)) ? Convert.ToSingle(txtAppropriationDollars.Text) : 0;
Run Code Online (Sandbox Code Playgroud)

注意:
project.AppropriationAmount是一个float.

谢谢您的帮助!

c# floating-point

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

Kendo Grid“更改”事件未触发

我在页面上有一个单独的组件(有条件地)更新 Kendo UI 网格。当用户单击一行时...我希望触发更改事件。然而,它目前还没有发射。

为什么更改事件没有触发?

DOJO:
我创建了以下 DOJO来支持这个问题。

谢谢

javascript kendo-ui kendo-grid

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

使用javascript和jquery在按键上验证电子邮件地址

我正在尝试阻止用户在输入电子邮件地址时输入无效字符.我并不是试图将整个价值作为一个整体验证(后来发生).

我"认为"这是防止字符列表(例如#或$)的正确方法:

/[A-Z0-9a-z@]^[$#<>?]/
Run Code Online (Sandbox Code Playgroud)

这部分有效:

/[A-Z0-9a-z@]/
Run Code Online (Sandbox Code Playgroud)

这部分失败了:

/^[$#<>?]/
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

javascript regex jquery

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