我有一个ASP.NET MVC工作流配置为由负载均衡器管理的两个网站.这些网站使用Sql Server作为会话状态提供程序,并关闭身份验证(不需要).
现在,偶尔我似乎失去了会话状态,我相信这是因为请求由备用服务器处理,所以基本上用户从服务器跳到服务器,这取决于负载均衡器看起来如何适合.我并不总是在工作流的同一阶段"丢失会话状态",所以我认为它与Web场配置+ sql server会话状态有关.
两个应用程序使用相同的机器密钥来加密和解密存储在sql server中的会话状态.
两台服务器上的配置如下:
<authentication mode="None" />
<sessionState mode="SQLServer" sqlConnectionString="{connection-string}" />
<machineKey decryptionKey="777CB456774AF02F7F1AC8570FAF31545B156354D9E2DAAD"
validationKey="89B5B536D5D17B8FE6A53CBB3CA8B8695289BA3DF0B1370BC47D362D375CF91525DDB5307D8A288230DCD4B3931D23AED4E223955C45CFF2AF66BCC422EC7ECD" />
Run Code Online (Sandbox Code Playgroud)
我已经确认两台服务器上都是一样的,有什么我遗漏的吗?
当我使用单个服务器时,在我的开发环境中不会发生这种情况.
我担心我会受到星期五蓝调的影响,毫无疑问下周会找到答案,遗憾的是我不想等!
有任何想法吗?
我想在我正在开发的框架中绕过一些经典的汇编扫描技术.
所以,说我已经定义了以下合同:
public interface IModule
{
}
Run Code Online (Sandbox Code Playgroud)
这就是说Contracts.dll.
现在,如果我想发现这个接口的所有实现,我们可能会做类似以下的事情:
public IEnumerable<IModule> DiscoverModules()
{
var contractType = typeof(IModule);
var assemblies = AppDomain.Current.GetAssemblies() // Bad but will do
var types = assemblies
.SelectMany(a => a.GetExportedTypes)
.Where(t => contractType.IsAssignableFrom(t))
.ToList();
return types.Select(t => Activator.CreateInstance(t));
}
Run Code Online (Sandbox Code Playgroud)
不是一个很好的例子,但它会做.
现在,这些类型的汇编扫描技术可能完全不足,而且它们都在运行时完成,通常会影响启动性能.
在新的DNX环境中,我们可以使用ICompileModule实例作为元编程工具,因此您可以将实现捆绑ICompileModule到Compiler\Preprocess项目中的文件夹中,并让它做一些时髦的事情.
我的目标是使用一个ICompileModule实现来完成我们在运行时在编译时所做的工作.
IModuleModuleList用一个实现来调用它,该实现产生每个模块的实例.public static class ModuleList
{
public static IEnumerable<IModule>() GetModules()
{
yield return new Module1();
yield return new Module2();
} …Run Code Online (Sandbox Code Playgroud) 我有以下输入类型="数字":
<input id="myid" type="number" name="input" min="0" max="100" step="1" value="0">
Run Code Online (Sandbox Code Playgroud)
在Chrome中,您只能看到2个增加或减少值的箭头.有没有办法设置这些控件的样式.就像是:
#myid::-webkit-
Run Code Online (Sandbox Code Playgroud) 问题
Locals仅this在调试时显示变量,其他局部变量在Locals或Watch中不可用,但可以在Visual Studio的中间窗口中重新评估
简介
我正在为我正在编写的一些代码调试Xunit测试.我正在测试的库是ASP.NET Core RC1的目标.这是我的project.json:
{
"authors": [ "Matthew Abbott" ],
"commands": {
"test": "xunit.runner.dnx"
},
"description": "Provides tests for the Fx.Content.Composer package",
"dependencies": {
"xunit": "2.1.0-rc1-build3168",
"xunit.runner.dnx": "2.1.0-rc1-build204",
"Fx.Content.Composer": ""
},
"frameworks": {
"dnx451": { },
"dnxcore50": {
"dependencies": {
"System.Runtime": "4.0.21-beta-23516"
}
}
},
"licenseUrl": "",
"projectUrl": "",
"tags": [ "" ],
"version": "1.0.0-*"
}
在调试单元测试时(我在构建的测试功能中使用Visual Studio),我可以设置断点,但是Locals/Watch窗口不允许我检查局部变量声明.我也没有得到那些局部变量的变量工具提示.
如果我将我的语句复制并粘贴到Intermediate中,则会将它们添加到范围中,但我无法直接调试.
我尝试过的事情
值得注意的事情
与Ben(@BuildStarted)一起,我们一直在构建RazorEngine项目,该项目旨在允许您编译和解析ASP.NET MVC之外的任意模板.该项目暂时有几个版本,反馈非常好(感谢大家!).但是,我们遇到了一个问题:中等信任.
因为我们使用CSharpCodeProvider来编译Razor生成的类(加载到当前的AppDomain中以便执行),所以我们SecurityException在尝试调用它时会遇到一个问题,因为它强制执行LinkDemand.当编译正常的ASP.NET页面时(无论信任级别如何),它通过BuildProvider通常为GAC的方式执行此操作,因此可以通过授予适当的编译权限.因此,ASP.NET WebForms在Medium信任中作为标准工作.
我们的代码没有,我们需要针对我们的构建库不会部署到GAC并且在中等信任中运行的场景.所以我们考虑BuildProvider专门构建它并将编译推迟到ASP.NET构建系统,但这似乎过于复杂和脱节,并且提供者本身需要通过文件扩展名和虚拟路径进行映射(可能会也可能不会解析为物理文件 - 想想VirtualPathProvider).这一切似乎都是过度的,只是为了让项目在中等信任中运作; 不仅如此,而且纯粹用于ASP.NET项目,因为我们的引擎也可以在ASP.NET之外运行
所以我的问题是,有没有人知道在中等信任环境中编译C#代码的任何技术或技术?
提前致谢.
I've developed a custom grid control that uses data-* attributes to configure how the grid is supposed to work (in a similar vein to how Bootstrap data API components work. For a particular deployment, I'm having to proxy my web application into another web application using IIS and Application Request Routing (ARR) + URL Rewrite. The proxying part is all done, I'm currently trying to configure the outbound rules for rewriting urls to match. For instance, I currently have rules …
问题是自我解释:
Foo objfoo;
try
{
objfoo = new Foo();
..........
.........
}
catch
{
}
finally
{
objfoo = null;
}
Run Code Online (Sandbox Code Playgroud)
是否有必要释放这样的对象?
c# ×3
asp.net ×2
dnx ×2
arr ×1
asp.net-core ×1
asp.net-mvc ×1
compilation ×1
custom-tags ×1
debugging ×1
html5 ×1
iis ×1
input ×1
machinekey ×1
razor ×1
roslyn ×1
try-catch ×1
xunit ×1