使用对象初始化程序语法创建新类型时,Visual Studio会自动移动大括号以与新关键字后面的类型对齐
像这样
MyType myType = new MyType
{
};
Run Code Online (Sandbox Code Playgroud)
但是,我更希望它不要这样做,而是保持原样
MyType myType = new MyType
{
};
Run Code Online (Sandbox Code Playgroud)
任何想法如何做到这一点 - 我已经通过所有Visual Studio格式化选项,找不到合适的
有任何想法吗?
如何将数据传递到startup.cs?
这是使用集成测试WebHostBuilder和TestServer
我需要根据测试夹具传递不同的数据.例如,所以不想从配置文件中提取它
数据将在startup.cs中提供给已注册的中间件
文档似乎建议这应该工作:
var configBuilder = new ConfigurationBuilder()
.AddInMemoryCollection(new[]
{
new KeyValuePair<string, string>("key", "value"),
});
var configuration = configBuilder.Build();
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseConfiguration(configuration) // config added here
.UseStartup<Startup>()
.Build();
host.Run();
Run Code Online (Sandbox Code Playgroud)
但是当我在startup.cs中检查Configuration对象时,键不存在.并且只有startup.cs中定义的提供程序可用.
我正在尝试在program.cs中执行此操作以测试该概念,然后将转向集成测试
什么想法我做错了什么?
有没有更好的方法将数据传递到启动?
什么是解析lat和long以下xml片段的最简单方法.没有名称空间等.
它是一个字符串变量.不是流.
<poi>
<city>stockholm</city>
<country>sweden</country>
<gpoint>
<lat>51.1</lat>
<lng>67.98</lng>
</gpoint>
</poi>
Run Code Online (Sandbox Code Playgroud)
到目前为止我所阅读的所有内容都过于复杂,不应该是一项简单的任务,例如 http://geekswithblogs.net/kobush/archive/2006/04/20/75717.aspx
我一直在看上面的链接
当然在.net中有一种更简单的方法可以做到这一点?
我正在尝试为位于同一域的2个网站设置单点登录
例如
http:// mydomain(包含forms-auth登录页面的顶级站点)
http:// mydomain/admin(单独开发的网站驻留在父网站的虚拟应用程序中)
已经阅读了一些关于单点登录的文章,例如
http://www.codeproject.com/KB/aspnet/SingleSignon.aspx
http://msdn.microsoft.com/en-us/library/dd577079.aspx
他们似乎建议只是在每个web.config中使用相同的machinekey部分,以便每个应用程序的cookie加密和解密相同
我已经设置了这个,我从来没有被提示在子网站(虚拟应用程序)中提供凭据
我总是在父网站上得到提示.
除了具有相同的machineKey我也尝试添加相同<authentication>和<authorisation>元素
知道我可能错过什么吗?
当用户第一次访问特定页面时,我正在显示jQuery叠加层
他们在叠加层中有一个单选按钮,他们可以点击它们说他们不希望再次看到通知
我想设置一个用户不想再看到叠加层的cookie
是否可以在不刷新页面的情况下设置cookie?
我打算将ajax调用回服务器,然后在响应头中设置cookie,但我猜他们不会在Ajax请求/响应中设置?
纯粹从javascript设置cookie是安全/可以的吗?或者这是一个坏主意?
还有其他选择吗?
CSVHelper我正在尝试使用nuGet 包创建 csv 文件
这是代码
public ActionResult Test()
{
var ms = new MemoryStream();
var sr = new StreamWriter(ms);
var csv = new CsvWriter(sr);
csv.WriteField("sd");
csv.WriteField("sd");
csv.WriteField("sd");
csv.WriteField("sd");
//ms.Seek(0, 0);
sr.Flush();
//ms.Position = 0;
var len = ms.Length;
return File(ms, "text/csv", "test.csv");
}
Run Code Online (Sandbox Code Playgroud)
但是,该文件始终为空
我在这里读到了几个问题,表明StreamWriter需要冲洗。位置移动到0。但是,我已经尝试过,但似乎不起作用
我也尝试过与using的 语句相同的操作MemoryStream,StreamWriter并且CSVWriter
我已经尝试了所有这些,但它仍然是空白
而且, 的长度MemoryStream始终为零
我究竟做错了什么?
我有一个Isapi dll执行一些基本的URL重写.它在II6上工作正常.但是,现在我的开发机器已升级到Windows 7,我无法在IIS 7下运行它
为了让它发挥作用,还有什么特别需要做的吗?
该网站正在运行经典ASP管道应用程序池(虽然我已尝试过两者)
关于如何解决这个问题的任何建议?
非常感谢
ps将其重写为模块/处理程序不是一种选择.我只想知道如何让现有的DLL在IIS 7上运行.
我需要读取一个空间分隔的大文本文件,并计算文件中每个代码的实例数.从本质上讲,这些是运行一些实验数十万次的结果.系统会吐出一个看起来像这样的文本文件:
A7PS A8PN A6PP23 ...
Run Code Online (Sandbox Code Playgroud)
实际上有数十万个这样的条目,我需要计算每个代码的出现次数.
我想我可以打开一个StreamReader并逐行浏览,拆分空格字符.查看是否已遇到代码并将该代码的计数加1.但是,考虑到数据的大小,这可能很幼稚.
有人知道处理这种处理的有效算法吗?
更新:
好的,所以共识似乎是我的方法是沿着正确的方向
我有兴趣听到的是 - 更有效的 - StreamReader.TextReader,BinaryReader
存储结果字典的最佳结构是什么?HashTable,SortedList,HybridDictionary
如果文件中没有换行符(我还没有给出样本),那么将整个空间分割成效率是不是很低?
从本质上讲,我期待尽可能提高性能
再次感谢
我有一个看起来像这样的同步通用方法
public TResponse Execute<TResponse>(Request request) where TResponse : Response
{
return (TResponse) proxy.ExecuteRequest(request);
Run Code Online (Sandbox Code Playgroud)
代理是WCF服务引用
它只有一个接收请求并返回响应的方法.但它通过传递派生请求和返回派生响应来使用.如上所示,包装器方法将响应转换为泛型参数(TResponse)指定的派生类型.
您使用派生的请求和响应调用该方法
例如
Execute<GetSomeDataResponse>(new GetSomeDataRequest());
Run Code Online (Sandbox Code Playgroud)
我现在正在生成异步服务引用,因此可以使用任务
所以我想要一个看起来像这样的方法
public Task<TResponse> ExecuteAsync<TResponse>(Request request) where TResponse : Response
{
// need to cast to a Task<TResponse>
return proxy.ExecuteRequestAsync(request
Run Code Online (Sandbox Code Playgroud)
可以像这样调用
Task<GetSomeDataResponse> res = ExecuteAsync<GetSomeDataResponse>(new GetSomeDataRequest());
Run Code Online (Sandbox Code Playgroud)
所以我需要一种方法来投射Task<Response>到Task<TResponse>
我一直在阅读这个看起来与我需要的相反,但是无法弄清楚如何将它弯曲到我的用例
如何将Task <TDerived>转换为Task <TBase>?
有任何想法吗?
我有一个关于装饰器模式的问题
假设我有这个代码
interface IThingy
{
void Execute();
}
internal class Thing : IThingy
{
public readonly string CanSeeThisValue;
public Thing(string canSeeThisValue)
{
CanSeeThisValue = canSeeThisValue;
}
public void Execute()
{
throw new System.NotImplementedException();
}
}
class Aaa : IThingy
{
private readonly IThingy thingy;
public Aaa(IThingy thingy)
{
this.thingy = thingy;
}
public void Execute()
{
throw new System.NotImplementedException();
}
}
class Bbb : IThingy {
private readonly IThingy thingy;
public Bbb(IThingy thingy)
{
this.thingy = thingy;
}
public void …Run Code Online (Sandbox Code Playgroud) c# ×7
asp.net ×2
parsing ×2
.net ×1
.net-core ×1
algorithm ×1
asp.net-mvc ×1
asynchronous ×1
cookies ×1
csvhelper ×1
decorator ×1
formatting ×1
iis-6 ×1
iis-7 ×1
isapi ×1
javascript ×1
resharper ×1
task ×1
xml ×1