小编And*_*erd的帖子

使用gzip编码时,WCF服务返回不正确的Content-Length

我有一个包含过滤文本框和列表框的网页.对文本框的修改会触发AJAX请求,该请求返回一个值数组,用于填充列表框.

我有时会遇到这些调用失败的问题,这取决于返回的数据大小.小型返回数据将导致错误,返回大型数据并成功处理.

只有当我使用大于4.2的jQuery版本时才会出现此问题.如果我使用jQuery版本4.2,我没有问题.


这是电话的代码:

        jQuery.ajax(
            {
                cache: false,
                url: "../Services/CmsWebService.svc/GetAvailableVideosForCompany",
                type: "GET",
                complete: function (jqXHR, textStatus) {
                    var responseText = jqXHR.responseText;
                    jQuery('#debugConsole').text(responseText);
                    availableVideosPopulationState.isRunning = false;
                    setTimeout(populateAvailableVideosListBox, 100);
                },
                data: { "companyIdString": queryParameters.companyIdField,
                    "textFilter": queryParameters.filterText
                },
                dataType: 'json',
                error: function (jqXHR, textStatus, errorThrown) {
                    var errorString = 'Error thrown from ajax call: ' + textStatus + 'Error: ' + errorThrown;
                    alert(errorString);
                },
                success: function (data, textStatus, jqXHR) {
                    populateVideoListFromAjaxResults(data);
                }
            }
             );
Run Code Online (Sandbox Code Playgroud)

如果返回两个元素,则以下是调试控制台的内容:

{"d":[{"__type":"ListEntry:#WebsitePresentationLayer","Text":"SOJACKACT0310DSN1.mpg - [SOJACKACT0310DSN1]","Value":"5565_5565"},{"__type":"ListEntry:#WebsitePresentationLayer","Text":"SOJACKACT0310DSN1Q.mpg - [SOJACKACT0310DSN1Q]","Value":"5566_5566"}]}
Run Code Online (Sandbox Code Playgroud)

但是如果返回一个元素:

{"d":[{"__type":"
Run Code Online (Sandbox Code Playgroud)

所以,当然,我们得到一个"未终止的字符串常量"错误. …

ajax wcf json gzip webhttpbinding

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

在PowerShell上使用Azure Active Directory进行身份验证

我正在尝试探索Azure Active Directory V2 PowerShell模块的功能

我有一个Azure帐户,我已经设置了一个包含多个用户的Active Directory.

我的第一个目标很简单:向我显示用户列表.

所以我键入:

Connect-AzureAD
Run Code Online (Sandbox Code Playgroud)

我看到一个对话框并输入我的用户帐户和密码.它返回类型的对象Microsoft.Open.Azure.AD.CommonLibrary.PSAzureContext.

然后我输入

Get-AzureADUser
Run Code Online (Sandbox Code Playgroud)

错误是:

Get-AzureADUser:执行GetUsers时发生错误

代码:Authentication_Unauthorized

消息:未找到用户

HttpStatusCode:禁止

我仍然可以使用Azure RM Powershell模块列出用户.以下代码有效:

Add-AzureRmAccount
Get-AzureRmADUser
Run Code Online (Sandbox Code Playgroud)

我该怎么办Get-AzureADUser才能上班?

powershell azure azure-powershell azure-active-directory

7
推荐指数
2
解决办法
5842
查看次数

在MATLAB中交换两个元素的性能

纯粹作为一个实验,我在MATLAB中编写排序函数,然后通过MATLAB分析器运行它们.我觉得最令人困惑的方面是交换元素.

我发现在矩阵中交换两个元素的"官方"方式

self.Data([i1, i2]) = self.Data([i2, i1])
Run Code Online (Sandbox Code Playgroud)

运行速度比在四行代码中运行要慢得多:

e1 = self.Data(i1);
e2 = self.Data(i2);
self.Data(i1) = e2;
self.Data(i2) = e1;
Run Code Online (Sandbox Code Playgroud)

第二个示例占用的总时间长度比第一个示例中的单行代码少12倍.

有人会解释为什么?

performance matlab

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

WPF:在列表框中停止或撤消选择更改

想象一下:您有一个Master-Child窗口,其中包含一个项目列表(主窗口)和一组控件,您可以在其中编辑当前选定的项目(子窗口).子窗口具有"应用"和"取消"按钮.

用户开始编辑值.然后他按下"应用"按钮之前更改选择.

您的应用程序显示消息"将更改应用于当前项目?",按钮为"是","否"和"取消".如果用户按下"取消",则尝试更改当前选择将失败.

"CurrentSelection"项目是数据绑定.

我以为我可以在CurrentSelection房产的"二传手"部分处理这件事.如果用户选择"取消",我只是按CurrentSelection原样保留该项目,并触发PropertyChanged通知事件以告知表单更新回旧的所选项目.控件忽略此通知事件.(这是有道理的,控制说"我知道当前的选择已经改变了.我只是改变了它!")

任何想法如何解决这一问题?总之,控件尝试更改边界SelectedItem,我想告诉它"不,你现在不能改变这个选定的项目".

data-binding wpf listbox

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

WPF FlowDocument 表 - 自动调整选项?

我想要一个表格,根据内容在逻辑上调整列的大小。这在 WPF 中可能吗?

替代文字 http://img43.imageshack.us/img43/2640/flowdocument.jpg

这是我正在使用的代码:

<Window x:Class="FlowDocument.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Window.Resources>
        <Style TargetType="{x:Type TableCell}">
            <Setter Property="BorderBrush" Value="Gray" />
            <Setter Property="BorderThickness" Value="3" />


        </Style>
        <Style TargetType="{x:Type Paragraph}">
            <Setter Property="Padding" Value="2, 2, 2, 2" />
        </Style>
    </Window.Resources>
    <Grid>
        <FlowDocumentScrollViewer>
            <FlowDocument>
                <Table>
                    <Table.Columns>
                        <TableColumn Background="LightBlue" />
                        <TableColumn Background="Coral" />
                    </Table.Columns>
                    <TableRowGroup>
                        <TableRow>
                            <TableCell>
                                <Paragraph>This is a long piece of text</Paragraph>
                            </TableCell>
                            <TableCell>
                                <Paragraph>This isn't</Paragraph>
                            </TableCell>
                        </TableRow>
                        <TableRow>
                            <TableCell>
                                <Paragraph>This is a another long piece of text. The column should be …
Run Code Online (Sandbox Code Playgroud)

wpf flowdocument

6
推荐指数
2
解决办法
5371
查看次数

Android:启用硬件加速

我希望我在Android 4.0中的动画很慢而且缺乏.所以我想启用硬件加速,并试图做这个页面所说的但没有运气.

你可以在这里看到我的清单:

<?xml version="1.0" encoding="UTF-8"?>
<manifest android:versionCode="1" android:versionName="1.0"
    package="com.jws.battleship" xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <application 
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.Black.NoTitleBar"
        android:hardwareAccelerated="true">
        <activity 
            android:label="@string/app_name" 
            android:name=".HomeActivity"
            android:hardwareAccelerated="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".UserPreferences"/>
        <activity android:name=".BattleActivity" android:screenOrientation="landscape"/>
        <activity android:name=".HighScoreActivity"/>
        <activity android:name=".StoreActivity"/>
        <activity android:name=".JoinBattle"/>
        <activity android:name=".CreateBattleActivity"/>
        <activity android:name=".FriendList"/>
        <activity android:name=".FriendListActivity"/>
        <activity android:name=".SelectNetworkActivity"/>
        <activity android:name=".BluetoothDevicesListActivity"/>
        <activity android:name=".NetworkFactoryActivity"/>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

然后我测试它是否在onCreate()中启用了硬件加速,如下所示:

ListView list = (ListView)findViewById(R.id.home_list_active_games);
Boolean test = list.isHardwareAccelerated();
Run Code Online (Sandbox Code Playgroud)

但它总是返回假!?我是否需要添加某种权限或此处有什么问题?

BR

android hardware-acceleration

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

工厂处理完毕,无法再使用.NHibernatefacility

我已经尝试了三天用Castle和wcf弄清楚这个NHibernatefacility的事情,它真的让人很沮丧.

在解决了十几个错误之后,我来到了这个看起来非常明显但我无法解决的问题.

这是我的global.asax的Application_Start

        container.AddFacility<AutoTxFacility>();
        container.Register(Component.For<INHibernateInstaller>().ImplementedBy<NHibernateInstaller>());
        container.AddFacility<NHibernateFacility>();
        container.AddFacility<WcfFacility>();

        container.Register(
            Component.For<IAuthService>().ImplementedBy<AuthService>().LifestylePerWcfOperation(),
            Component.For<IUserRepository>().ImplementedBy<UserRepository>().LifestylePerWcfOperation(),
            Component.For<IActionWebService>().ImplementedBy<ActionWebService>().Named("ActionWebService").LifestylePerWcfOperation(),
            Component.For<ISession>().LifeStyle.PerWcfOperation().UsingFactoryMethod(x => container.Resolve<ISessionManager>().OpenSession()));
Run Code Online (Sandbox Code Playgroud)

这适用于第一个请求.之后,它出现了这个错误.

工厂处理完毕,无法再使用.对象名称:'this'.

错误发生在我的userrepository中

[Transaction]
        public virtual User GetUserByCredentials(string email, string password)
        {
            using (var tx = session())
            {
                return tx.QueryOver<User>().Where(x => x.Email == email && x.Password == password).SingleOrDefault();
            }
        }
Run Code Online (Sandbox Code Playgroud)

我感觉这与LIfestyle有关.我尝试了多种组合但不成功.我不知道该做什么.我进入这个城堡的东西有所有的设施(应该让生活更轻松),由于缺乏文件,它真的很复杂.我无法找到一个下降指南来实现所有这些,更不用说一些不是4年的东西了.

请帮忙!

nhibernate wcf castle-windsor isession

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

将自定义字符串放在System.Net.HttpClient的"Authorization"标头中

我正在尝试使用该System.Net.HttpClient课程向Google Cloud Messaging发送消息.

Google Cloud Message要求您包含名为"授权"的标头,其格式类似于:

key=AIzaSyBxFuZ9IbtGbJHX6F5wdTc1mHnB7i0Lu8D
Run Code Online (Sandbox Code Playgroud)

但是HttpClient当我尝试这个时,该类会引发异常.

string keyString = "key=AIzaSyBxFuZ9IbtGbJHX6F5wdTc1mHnB7i0LJ0w";
using (var client = new HttpClient())
{
    client.DefaultRequestHeaders.Add("Foo", keyString); // <== Proving I can
    client.DefaultRequestHeaders.Add("Authorization", keyString); // Exception thrown
Run Code Online (Sandbox Code Playgroud)

例外是类型System.FormatException.信息是

值'key = AIzaSyBxFuZ9IbtGbJHX6F5wdTc1mHnB7i0LJ0w'的格式无效.

而callstack是:

at System.Net.Http.Headers.HttpHeaderParser.ParseValue(String value, Object storeValue, Int32& index)
at System.Net.Http.Headers.HttpHeaders.ParseAndAddValue(String name, HeaderStoreItemInfo info, String value)
at System.Net.Http.Headers.HttpHeaders.Add(String name, String value)
Run Code Online (Sandbox Code Playgroud)

如何在没有抛出异常的情况下将此标头添加到此发布请求中?


顺便说一下,我使用Fiddler编写了一个这样的帖子,它有效:

头:

User-Agent: Fiddler
Authorization: key=AIzaSyBxFuZ9IbtGbJHX6F5wdTc1mHnB7i0Lu8D
Host: android.googleapis.com
Content-Length: 220
Content-Type: application/json
Run Code Online (Sandbox Code Playgroud)

请求机构:

{
 "registration_ids" : ["APA91bEM6XPdiZv5VgNNApakfyYfZwB871018Hljl1L27kaPvksasnR0bHlmcCZFxOSPD6bDLMZgvgfT9xsKnF6Tg0oSQM2cMM1KRbuK7cR7jICqAnSDYg_SvERTzPMT8puXGTlVkEVH6dsneBkXiBu6pZikWXWyRATAVbXnAHTe20-nQerb0"],
}
Run Code Online (Sandbox Code Playgroud)

.net dotnet-httpclient google-cloud-messaging

6
推荐指数
2
解决办法
5989
查看次数

新的 .csproj 格式的 app.config 文件

Visual Studio 提供了一种精简的 .csproj 文件格式。

我正在尝试构建一个 .NET Framework 应用程序(版本 4.6.1),但使用新的手动可编辑文件。

与之前的行为类似,我希望将 app.config 文件复制到输出目录,但重命名为<output_exe>.configoutput_exe可执行文件的名称在哪里)。

我们在 .csproj 文件中放了什么来实现这一点?

这不起作用,因为它不会重命名文件:

<ItemGroup>
  <Content Include="App.config">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

msbuild csproj visual-studio

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

WPF 中嵌入的浏览器不处理指针事件

我在 Windows 7 WPF 应用程序中托管 WebBrowser 控件。

现在我在该浏览器中运行的 javascript 遇到问题。DOMpointer事件没有触发。当我单击 DOM 对象时,mousedownclick事件会触发,但该pointerdown事件不会触发,即使在 Internet Explorer 11 中查看同一页面时会触发该事件。

如何触发 DOMpointerdown事件?

这是我在浏览器中看到的内容:

浏览器图像

这是我在 WPF 应用程序中看到的内容:

WPF图像

这是我正在测试的 HTML 文档:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=11">
    <script type="text/javascript" src="./scripts/jquery.min.js"></script>
    <title>Raw test page</title>
    <style type="text/css">
        #mouseTarget{
            border: 2px solid purple;
            background: steelblue;
            font-weight: bold;
            width: 300px;
            height: 100px;
        }
    </style>
</head>
<body>
    <div id="mouseTarget">Mouse Target</div>
    <div id="logOutput"></div>
    <script type="text/javascript">
        var logOutput …
Run Code Online (Sandbox Code Playgroud)

browser wpf touch winforms

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