小编use*_*426的帖子

Android Studio正在设备上安装旧apk

我正在使用Android Studio(0.89 Build#AI-135.1404660,建于2014年9月3日)使用模拟器和Nexus 4设备开发Android应用程序.

我之前的版本遇到了同样的问题.

问题是,在我更改了我的代码和资源文件后,我仍然在设备或模拟器上安装了旧的apk.

要让它运行当前代码,我需要做什么?它是建筑配置吗?

这是Android Studio的已知问题吗?

或者使用Nexus 4设备?

这是它第二次发生,我在尝试下面的一个步骤后解决了(然后).他们再也没有为我工作过.

这是我尝试过的

  1. 构建>清理项目>重新启动Android Studio>运行
  2. 构建>重建项目>运行
  3. 第1步加上在设备上卸载apk
  4. 第2步加上设备上的apk的Unistalling
  5. 添加错误的资源条目然后运行.

我看过以下内容:

  1. 安卓apk安装:如何清除旧版本的文件?
  2. adb - 如何在不保留数据的情况下重新安装应用程序?
  3. 设备仍然有旧的apk
  4. Android版本不会更新设备上目标.apk的代码库或资源

迄今为止没有人工作过.

building nexus-4 android-studio

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

邮递员为POST请求解决"无效的CORS请求"

我刚刚开始使用Postman来测试我正在集成的API.

我有以下错误,一直出现

无效的CORS请求

请注意以下事项:

  1. API使用承载令牌身份验证(OAuth2).我有这个工作没有问题.
  2. 我成功获得了承载令牌,将其分配给Environment变量,然后尝试将其用于RESTful操作.
  3. 问题出在后续使用令牌的RESTful操作中.
  4. 当我使用旧令牌(通过POST操作)时,它正确地告诉我它已过期且未经授权.
  5. 当我生成一个新的并尝试运行restful调用时,它会给我这个Invalid CORS request错误.
  6. 使用cURL,我没有问题.但我对邮差感到沮丧.

到目前为止我发现了什么:

  1. 使用带有Http POST请求的邮递员 - 我没有以粗体显示该部分

万一其他人有同样的问题,这里是如何解决它.转到Chrome浏览器中的https://www.getpostman.com/docs/capture.单击拦截器扩展,然后选择添加到chrome.添加后,浏览器和邮递员右上方会出现一个新图标,看起来像一个红绿灯.在邮递员点击这个,它变成绿色.然后为每个进入 第三灯的 请求添加标题.每个标题包含标题名称和值.开始在标题名称上键入,并显示允许的http标题列表 .选择"原点".在value for cell中,只需键入 服务器完整URL 即可.(不要忘记'http://'或'https://').

  1. 对无效CORS请求的预期响应是什么?- 到目前为止我在CORS错误上看到的最佳解释.

其他材料谈到Access-Control-Allow-Method header,preflight requests

...还有一个说明性的Apache Tomcat CORS流程流程图.

在此输入图像描述

api rest postman

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

Identity Server(OAuth2)实现与遗留系统的集成(Forms Auth,ADFS,AD)

我们目前正在构建RESTful API(.Net Core,IdentityServer 4,EF6).我们已经发布了它的MVP版本.

它还引用了WCF服务.此WCF服务协调对其他内部(旧系统)和其他集成组件的所有其他调用.

(可能是错误的)实现概述图如下:

在此输入图像描述

我们坚持的主要事情之一是弄清楚如何使用Identity Server集成不同的身份验证和授权系统......

特别是服务电话的内部服务.我们是否使用相同的IdentityServer来执行多个功能?(公共消费者授权和认证以及内部服务到服务授权).

传统上,我们使用了不同的WCF安全配置(Transport,TransportWithMessageCredentials ......等),添加了Forms,AD,ADFS和Service Accounts.我们需要确保正在进行正确的调用以实现可重用的IdentiyServer实现.

简而言之,我们的挑战是如何执行内部服务授权?

  1. 拥有一个处理面向公众的请求和内部(多跳)服务到服务授权的中央Identity Server实现是一种好习惯吗?
  2. 您是否建议从处理面向公众的API请求的那些服务器中拆分并拥有单独的身份服务器以进行内部服务到服务授权?
  3. 或者我们是否还要进一步拆分并为每个应用程序用例创建不同的身份服务器?

c# restful-authentication oauth-2.0 restful-architecture identityserver4

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

数据访问层到业务对象的最佳"模式"

我正试图找出最干净的方法来做到这一点.

目前我有一个客户对象:

public class Customer
{
    public int Id {get;set;}
    public string name {get;set;}
    public List<Email> emailCollection {get;set}
    public Customer(int id)
    {
        this.emailCollection = getEmails(id);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我的Email对象也很基本.

public class Email
{
    private int index;
    public string emailAddress{get;set;}
    public int emailType{get;set;}
    public Email(...){...}
    public static List<Email> getEmails(int id)
    {
        return DataAccessLayer.getCustomerEmailsByID(id);
    }
}
Run Code Online (Sandbox Code Playgroud)

DataAccessLayer当前连接到数据库,并使用SqlDataReader迭代结果集并创建新的Email对象,并将它们添加到完成时返回的List.

那么我在哪里以及如何改进呢?

我是否应该让我的DataAccessLayer返回一个DataTable并将其留给Email对象进行解析并将List返回给Customer?

我猜"工厂"可能是错误的单词,但是我应该有另一种类型的EmailFactory从DataAccessLayer获取DataTable并将List返回给Email对象吗?我想这种声音多余......

将我的Email.getEmails(id)作为静态方法,这是否是正确的做法?

我可能只是试图找到并应用最好的"模式"来完成一项简单的任务.

谢谢.


跟进

我创建了一个工作示例,其中我的域/业务对象通过现有数据库中的id提取客户记录.nhibernate中的xml映射文件非常简洁.在我按照教程设置会话和存储库工厂之后,拉动数据库记录非常简单.

但是,我注意到了巨大的性能损失.

我的原始方法由DB上的存储过程组成,该过程由DAL对象调用,该对象将结果集解析为我的域/业务对象.

我用30分钟的原始方法来获取单个客户记录.然后我用nhibernate方法计时3000ms来获取相同的记录.

我错过了什么吗?或者使用这种nhibernate路由会有很多开销吗?

否则我喜欢代码的清洁度:

protected void Page_Load(object sender, EventArgs e)
{
    ICustomerRepository repository = new CustomerRepository();
    Customer …
Run Code Online (Sandbox Code Playgroud)

c# asp.net design-patterns data-access-layer

16
推荐指数
2
解决办法
2万
查看次数

选择那些在IN()列表中找不到的

抱歉,如果已经有了答案,我搜索并可能无法想出正确的关键字来找到它.

我有一张超过1000张桌子的桌子(例如顾客).

我有一个查询需要已知客户列表的详细信息(例如,通过CustomerID - 1,79,14,100,123)

IN()函数是我想用于查询的函数.

我知道找到符合列表的客户,我会写:

SELECT * FROM Customers WHERE CustomerID IN (1,79,14,100,123)

为了找到那些不在列表中的,我会写

SELECT * FROM Customers WHERE CustomerID NOT IN (1,79,14,100,123)

如何从列表中找到未返回或未找到匹配项的客户列表.

假设Customers表只有(1,79,100).然后它将意味着14和123将不匹配.如何找到找不到匹配项的值.

我在我的例子中简化了.我的项目列表有超过300个ID,因此使用WHERE带有长列表的条件OR会很麻烦/笨拙.我曾想过与自我LEFT JOIN结合并识别NULL配对值,即14和123

有更优雅的方法吗?

sql t-sql sql-server

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

在TensorFlow中,函数'tf.one_hot'中的'axis'参数是什么?

任何人都可以有帮助的是什么的解释axisTensorFlowone_hot功能?

根据文件:

axis:要填充的轴(默认值:-1,新的最内轴)

最近我得到的关于SO的答案熊猫有关的解释:

不确定上下文是否同样适用.

machine-learning multidimensional-array python-3.x tensorflow one-hot-encoding

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

在MVVM WPF中使用工作单元设计模式/ NHibernate会话

我想我陷入了分析的瘫痪状态.请帮忙!

我目前有一个项目

在我的案例中,工作单元实现一次支持一个NHibernate会话.我当时认为这是有道理的; 它隐藏了ViewModel中NHibernate会话的内部工作方式.

现在,根据Oren Eini(Ayende)的说法:http://msdn.microsoft.com/en-us/magazine/ee819139.aspx

他说服观众在处理与presenter/viewmodel相关联的视图时应创建/处理NHibernate会话.他提出了为什么每个Windows应用程序不需要一个会话,也不希望每个事务创建/处理会话的问题.遗憾的是,这会产生一个问题,因为我的UI可以轻松地在应用程序中显示10个以上的视图/视图模型.他正在使用MVP策略,但他的建议是否转化为MVVM?

这是否意味着我应该废弃工作单元并让viewmodel直接创建NHibernate会话?WPF应用程序一次只能有一个工作会话吗?如果这是真的,我什么时候应该创建/处置NHibernate会话?

而且我还没有考虑过NHibernate无状态会话如何适应这一切!我的大脑会爆炸.请帮忙!

更新:

我在Rhino Tools中找到了Ayende的工作单元实现.我发现他的实施与我所做的实施之间存在显着差异.他绝对支持多次会议.经过进一步的研究,我认为我最好做以下事情:

  • 废弃我对工作单元的实施
  • 辞职直接从viewmodel使用NHibernate的ISession和IStatelessSession对象.虽然在我看来这并不理想,但我已经花了太多时间在工作单元上,而且它并没有形成它的本质.必须在某个时候申请KISS和YAGNI.我至少可以对Ayende的文章和其他一些人指出直接使用它们的事实感到安慰.
  • 如果我真的不想公开ISession,我总是可以使用Castle.ActiveRecord,但我认为没有必要.
  • 我可以重新使用会话工厂代码,因此工作单元实现并不是完全浪费.
  • 重构我的存储库以允许注入StatelessSession和Session,并使用无状态(如果可用):否则使用常规会话.

毕竟,我可以应用每个viewmodel打开一个会话/无状态会话的策略,并且当处理视图时,具有viewmodel flush/dispose会话/无状态会话.

听起来像是个计划?

nhibernate wpf session mvvm unit-of-work

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

ASP.Net Core 1记录错误 - 无法找到源应用程序中事件ID xxxx的描述

我想从ASP.Net Core应用程序的Controller方法写入Windows事件日志.

我的问题是,在我希望写入日志信息的地方,我不断收到错误/信息日志:

无法找到源应用程序中的事件ID xxxx的说明.引发此事件的组件未安装在本地计算机上,或者安装已损坏.您可以在本地计算机上安装或修复该组件.

如果事件源自另一台计算机,则必须随事件一起保存显示信息.

活动中包含以下信息:

My.Fully.Qualified.Namespace.WebApi.Controllers.MyController方法'MyMethod'中出现错误

消息资源存在但在字符串/消息表中找不到该消息

作为一个快速说明,在.Net Core之前,我总是通过使用Powershell或Command创建事件源或正确配置Microsoft.Practices.EnterpriseLibrary.Logging应用程序块或其他第三方库来解决类似的错误

我使用的方法是:

安装Nuget软件包:Microsoft.Extensions.Logging.AbstractionsMicrosoft.Extensions.Logging后,我在Start Configure代码块中指定EventLog Provider.

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        loggerFactory.AddConsole(Configuration.GetSection("Logging"));
        loggerFactory
            .AddDebug()
            .AddEventLog();

        //... rest of the code here
    }
Run Code Online (Sandbox Code Playgroud)

对于每个Controller,使用以下ILogger<T>方法:

public class MyController : Controller
{
    private readonly IMyRepository _myRepository;
    private readonly ILogger _logger;

    public MyController(IMyRepository myRepository,
        ILogger<MyController> logger)
    {
        _myRepository = myRepository;
        _logger = logger;
    }

    public bool …
Run Code Online (Sandbox Code Playgroud)

c# event-log asp.net-core

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

如何检查是否已设置LogWriter?

我正在尝试处理从Enterprise Library 4升级到6后最近弹出的Enterprise Library 6 LogWriter异常.

我得到:

尚未为Logger静态类设置LogWriter.设置它调用Logger.SetLogWriter方法.

要么

LogWriter已设置.

......取决于场景.

问题是,它抛出一个InvalidOperationException似乎太通用的处理,甚至检查使用

if (Logger.Writer == null)
Run Code Online (Sandbox Code Playgroud)

...也产生异常,那么如何检查作者是否被设置?

c# logging exception-handling enterprise-library-6

10
推荐指数
2
解决办法
7089
查看次数

在Entity Framework中将对象类型属性映射到varbinary(MAX)

我有一种情况,我有一个类型属性的类型object,例如.

public class MyType
{
   public virtual object MyProp{get; get;}
}
Run Code Online (Sandbox Code Playgroud)

这种类型必须是:

  1. 保存使用Entity Framework到数据库,作为byte[](我已经想到了序列化逻辑)
  2. 通过WCF传输(我将使用该KnownType属性)

如何映射我的object属性,确保将其转换为字节数组进行存储?

注意:该object属性将是一个值类型(非复杂)

我想创建一个单独的类型来保存到数据库,例如:

public class MyTypeEntity
{
   public virtual byte[] MyProp{get; get;}
}
Run Code Online (Sandbox Code Playgroud)

如何在仍然能够定义关系映射的同时在类型之间进行转换/转换?

这是否涉及对储蓄的某种拦截?

我能想到的最好的解决方案就是将序列化数据存储在数据库中.

如果property covariance在C#中有某种形式,也许这会更容易.据我所知,它不存在.如果有一个我可以使用的优雅替代品,我将非常感谢您的见解.

c# wcf entity-framework ef-fluent-api

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