小编YoY*_*Myo的帖子

何时使用字节数组,何时使用流?

我需要将图像和小视频文件(大约5MB,小于10MB)发送到REST服务,我将编写.我想知道我是否应该使用Byte []或Stream来完成这项任务.在使用Byte []和Stream之间传输文件大小方面的分界线是什么?

c# media service wcf

8
推荐指数
3
解决办法
4297
查看次数

JavaScript执行超过了超时

  1. 我在JS中没有做大量的计算.
  2. 在我添加此代码之前,Safari iOS iOS 5上的一切正常工作:

    var watchID = navigator.geolocation.watchPosition(updatePos,locationError,{maximumAge: 10000, frequency: 60000, enableHighAccuracy: true, timeout: 1000});
    
    function updatePos(position) {       
        if (position.coords.accuracy < accuracyThreshold) {                 
            $.post(websiteRoot + '/ReportDeviceLocation?rand=' + (Math.random() * Math.random()) + '&longitude=' + position.coords.longitude + '&latitude=' +position.coords.latitude);
    
        } else {
            console.debug("Location data is not accurate enough. Location not updated.");
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后网页工作了大约4分钟,我得到这个错误:

    JavaScript执行超过了超时.

  4. 然后没有JavaScript会加载.我插入到my.js文件中的调试消息都不会打印出来.只有上面的错误.

  5. 即使在我离开生成此错误的页面并在同一域下打开其他网页后,错误仍然存​​在.

  6. 我用过try和catch,我使用了setTimeout函数,但是既没有给我错误的来源也没有解决问题.

我不知道问题是什么.它一整天都在燃烧我,并会在周末燃烧我.

javascript safari geolocation ipad

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

如何更改 Android PopupMenu 宽度

我无法更改 Appcompat PopupMenu 的宽度,因为菜单项在MenuPopupHelper.java 中使用此布局abc_popup_menu_item_layout.xml,将菜单项 minWidth 设置为 196dip。

<android.support.v7.internal.view.menu.ListMenuItemView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="?attr/dropdownListPreferredItemHeight"
        android:minWidth="196dip"
        android:paddingRight="16dip">
Run Code Online (Sandbox Code Playgroud)

我试图在 style.xml 的以下属性中覆盖 minWidth 和 dropDownWidth。我还尝试在 android:dropDownItemStyle 中覆盖 minWidth,但它没有帮助。我开始怀疑是否可以覆盖 ListMenuItemView 的这个硬编码属性。有没有人成功修改过 PopupMenu 的宽度?

<style name="OrderDetailsActivity" parent="AppTheme">
    <item name="android:textAppearanceLargePopupMenu">@style/OrderDetailsPopupMenuTextAppearanceLarge</item>
    <item name="android:textAppearanceSmallPopupMenu">@style/OrderDetailsPopupMenuTextAppearanceSmall</item>
    <item name="android:dropDownListViewStyle">@style/OrderDetailsListDropDownStyle</item>
    <item name="dropDownListViewStyle">@style/OrderDetailsListDropDownStyle</item>
</style>

<style name="OrderDetailsPopupMenuTextAppearanceLarge" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Large">
    <item name="android:fontFamily">sans-serif-medium</item>
    <item name="android:textSize">@dimen/font_size_medium</item>
</style>

<style name="OrderDetailsPopupMenuTextAppearanceSmall" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Small">
    <item name="android:fontFamily">sans-serif-medium</item>
    <item name="android:textSize">@dimen/font_size_medium</item>
</style>

<style name="OrderDetailsListDropDownStyle" parent="Widget.AppCompat.ListView.DropDown">
    <item name="android:divider">@drawable/list_divider</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android popupmenu android-appcompat android-support-library

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

在部署期间更改web.config

我需要在开发和部署期间在http和https之间切换.

为此,我需要在web.config中进行以下更改:

 <behaviors>
  <serviceBehaviors>
    <behavior name="DirectInstallHelperServiceBehavior">
      <!-- need to change to <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true"> -->
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="false">
      </serviceMetadata>
    </behavior>
  </serviceBehaviors>
</behaviors>

<bindings>
  <webHttpBinding>
    <binding>
<!-- need to add the following, but don't know how
      <security mode="Transport">
        <transport clientCredentialType="Basic"/>
      </security>
-->
    </binding>
  </webHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)

所以我尝试在Web.Release.config中添加以下行:

<behaviors>
  <serviceBehaviors>
    <behavior name="DirectInstallHelperServiceBehavior">
      <serviceMetadata httpGetEnabled="false" httpsGetEnabled="true" xdt:Transform="setAttribute(httpsGetEnabled, httpGetEnabled)" xdt:Locator="Match(name)"></serviceMetadata>
    </behavior>
  </serviceBehaviors>
</behaviors>

<bindings>
  <webHttpBinding>
    <binding>
      <security mode="Transport" xdt:Transform="InsertAfter(/configuration/system.serviceModel/bindings/webHttpBinding/binding)">
        <transport clientCredentialType="Basic"/>
      </security>
    </binding>
  </webHttpBinding>
</bindings>
Run Code Online (Sandbox Code Playgroud)

但我做错了,因为当我将服务发布到我的文件系统时,我仍然看到web.config的开发http版本.任何帮助表示赞赏.

c# wcf web-config visual-studio web-config-transform

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