小编Chr*_*lum的帖子

不调用构造函数创建对象实例?

在C#中,有没有办法在不调用其构造函数的情况下实例化类的实例?

假设该类是公共的,并在第三方库中定义,构造函数是内部的.我想这样做的原因很复杂,但知道是否有可能使用某种C#hackery会很有帮助.

注意:我特别不想调用任何构造函数,因此使用反射访问内部构造函数不是一个选项.

c#

63
推荐指数
3
解决办法
4万
查看次数

VS 2012基于错误的路径启动应用程序

我有一个应用程序,它在c:\ Dev\MyApp\Main下受源代码管理(TFS 2012).

因为我正在开发一个新功能,所以我决定在c:\ Dev\MyApp\BranchNewFeature上打开一个分支.

我开发了,当我决定是时候测试它就像我没有做任何改变.我点击了F5,我看到了该应用程序的基线版本...看着它我注意到一个非常奇怪的事实:当我检查IIS Express时,应用程序的"启动路径"是旧的(c:\ Dev\MyApp \主要).

任何人都可以帮助我让IIS Express指向新路径吗?(C:\开发\ MyApp的\ BranchNewFeature)

iis version-control iis-express visual-studio-2012

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

Azure函数:ICollector <T>与IAsyncCollector <T>

在编写C#函数时,Azure函数之间ICollector<T>和之间的区别是什么IAsyncCollector<T>(也适用于WebJobs)?

我从样本中了解到这些是我可以用来将函数参数绑定到输出绑定的接口.我也理解这两个接口相应地具有非异步和异步方法签名(即ICollector<T>.Add(item)IAsyncCollector<T>.AddAsync(item)).但他们在封面下做了什么?它们实际上是将数据发布到输出绑定,还是在函数执行结束时进行内部缓冲和刷新(在这种情况下,为什么会有AddAsync方法)?

azure-webjobs azure-webjobssdk azure-functions

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

如何从C#作为非提升用户运行PowerShell脚本

我正在尝试从C#应用程序运行PowerShell脚本,当我的C#app作为非管理员用户(例如网络服务或其他域帐户)运行时,我需要运行该脚本.

以前,我使用以下代码:

using (RunspaceInvoke invoker = new RunspaceInvoke())
{
    // load the powershell module
    invoker.Invoke("Import-Module MyModule");

    // run the cmdlet defined in the module 
    invoker.Invoke("MyCmdlet");
}
Run Code Online (Sandbox Code Playgroud)

我不知道这是否是运行模块中定义的cmdlet的最佳方法(如果有更好的方法,请教我!).无论如何,如果我作为管理用户运行,这将完美地运行.我尝试将其作为网络服务运行,然而,我在RunspaceInvoke的构造函数中得到了一个不友好的错误:

不允许请求的注册表访问.

有没有办法可以将我的PowerShell cmdlet作为非提升用户运行,例如网络服务?我不需要或不希望访问注册表.cmdlet本身也不需要提升权限.

c# security powershell powershell-2.0

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

使用OpenID和WCF而不使用浏览器,是否可能?

从我在OpenID上完成的大部分阅读中,似乎可能需要浏览器.我正在编写一个WCF应用程序,并希望使用OpenID作为身份验证方法,但我的应用程序不是一个Web应用程序.是否可以在不需要Web浏览器的情况下一起使用WCF和OpenID?

openid wcf

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

Azure 持久函数 - CallActivityAsync 时的 InvalidOperationException

我正在尝试 Azure Durable 功能。目前,我在InvalidOperationException调用活动后进入编排功能。它抱怨检测到多线程执行。如果协调器功能之前从不受支持的异步回调中恢复,则可能会发生这种情况

有没有人遇到过这样的问题?我做错了什么?完整代码可以在GitHub找到

这是编排函数中的一行:

var res = await ctx.CallActivityAsync<int>("LengthCheck", "inputData");
Run Code Online (Sandbox Code Playgroud)

LengthCheckactivitiy功能是:

[FunctionName("LengthCheck")]
public static Task<int> Calc([ActivityTrigger] string input)
{
    var task = Task.Delay(TimeSpan.FromSeconds(5));
    task.Wait();
    return Task.FromResult(input.Length);
}
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪是:

ac6fd5cdd07a4dc9b2577657d65c4f27:函数“InpaintOrchestration(Orchestrator)”,版本“”失败并出现错误。原因:System.InvalidOperationException:检测到多线程执行。如果协调器功能之前从不受支持的异步回调中恢复,则可能会发生这种情况。

在 Microsoft.Azure.WebJobs.DurableOrchestrationContext.ThrowIfInvalidAccess()

在 Microsoft.Azure.WebJobs.DurableOrchestrationContext.d__47`1.MoveNext()

从上一个抛出异常的位置开始的堆栈跟踪结束

在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()

c# azure azure-functions azure-durable-functions

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

定义Azure AD B2C与B2B的使用和差异

您能否根据它的用途及其差异来定义基于云的身份验证服务Azure AD B2C和B2B(如果有的话).如果可以,请提供网络资源列表.

azure azure-active-directory azure-ad-b2c

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

在.NET 4.0中加载存储为XAML的工作流

加载以前创建并存储为XAML的.NET 4.0 Beta2工作流的语法是什么.

WorkflowElement和WorkflowXamlServices类不再存在.我正在尝试做这样的事情(在Beta 1中有效):

WorkflowElement wf = WorkflowXamlServices.Load(File.OpenRead("Workflow.xaml")) as WorkflowElement;
Run Code Online (Sandbox Code Playgroud)

c# workflow workflow-foundation-4

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

如何在 Web 应用程序中从 Azure AD 刷新 ID 令牌?

我正在尝试设置一个 Azure Web 应用程序以使用 Azure AD 进行身份验证并在幕后自动刷新 ID 令牌。一篇很棒的博客文章帮助我了解了整个过程是如何运作的:https : //cgillum.tech/2016/03/07/app-service-token-store/

从中链接的本指南帮助我进行了设置:http : //cgillum.tech/2016/03/25/app-service-auth-aad-graph-api/

似乎为 Azure AD 身份验证启用刷新令牌并不那么简单,因此建议我使用上述指南将其设置为 GraphApi。

我遇到的问题是即使在调用“.auth/refresh”端点然后调用“.auth/me”端点之后,唯一刷新的令牌是访问令牌。该令牌对我没有用,因为我在与后端服务器通信时使用了 Id 令牌(使用“授权承载”标头)。

那么如何让 Id 令牌也刷新呢?

azure-active-directory azure-web-app-service

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

即使用户正在积极使用应用程序,Azure AD Easy Auth 也会过期

我们有一个使用Azure Active Directory“Easy Auth”的单页应用程序(SPA),例如无代码解决方案。当用户第一次打开应用程序时,这似乎工作正常。他们将被重定向到 Microsoft 登录页面,他们可以进行身份​​验证,然后访问应用程序。

然后,由于它是 SPA,用户将四处导航并仅触发 Ajax 请求。大约 24 小时后,当会话 cookie 过期时,问题就会出现。用户可能仍然打开相同的浏览器选项卡,并且不执行整个页面刷新。然后他们可能正在处理一条记录,并且在某个时候他们的下一个 Ajax PUT 请求失败并出现重定向 HTTP 状态,并且他们失去了工作。

所以他们的关键问题是:

我们如何使 SPA Ajax 请求扩展当前用户的会话,以便他们的会话在主动使用应用程序时不会过期?

Azure AD Easy Auth 服务似乎并不“尊重”用户的活动,这使我们相信会话 cookie 永远不会更新。

注意:我们最近使用 /.auth/refresh 端点进行了一些测试,但这也不能解决问题。

azure-active-directory azure-web-app-service

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