小编Tho*_*mas的帖子

是否可以在asp.net外部使用Razor View Engine

如果我看Razor视图引擎,然后我看到一个非常漂亮和简洁的语法并不特别依赖于生成HTML.所以我想,这将是多么容易使用在发动机外部asp.net中的一个"正常"的.NET环境,例如生成文本,代码,...

欢迎使用任何指针,示例,注释或解释.

asp.net asp.net-mvc code-generation templating razor

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

在返回IEnumerable <T>的方法中使用IDisposable对象

想象一下,你有一个内部使用IDisposable对象的方法(例如streamreader),并且yield会在从文件中读取时返回项目.像这样:

public IEnumerable<YourObject> Read(string filename)
{
    using(var filestream = new FileStream(filename, FileMode.Open))
    {
        using(var reader = new StreamReader(filestream))
        {
            string line;

            while((line = reader.ReadLine()) != null)
            {
                yield return new YourObject(line);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

readerfilestream当我使用LINQ的方法不迭代的完整收集处置?

YourOjbect firstLine = Read("myfile.txt").First();
Run Code Online (Sandbox Code Playgroud)

c# linq resources

38
推荐指数
2
解决办法
2986
查看次数

在一个应用程序中结合Xamarin和React Native

是否可以在一个应用程序中使用React Native和Xamarin.

您可以通过两种方式来看待这一点.

  1. 在Xamarin应用程序中嵌入react-native.这意味着以RCTRootView这样的方式创建绑定:Xamarin可以初始化它并加载js包.这是否意味着所有其他反应类型也需要绑定?还是会RCTRootView足够的?
  2. 如果你以另一种方式看待它:是否可以使用Xamarin编写本机视图(无论是Android视图还是iOS UIViews)并使反应本机使用它们?这也可能还涉及某种绑定,因为这需要RCTViewManager在iOS或ViewManagerAndroid上.

你为什么想做这个?也许是因为你想扩展一个现有的Xamarin应用程序,其中包含一个反应原生的新部分.也许是因为你喜欢在C#中比在Swift或Java中更好地编写客户视图.或者只是因为你想要卷入事物;-)

那么是否有技术问题会导致这种情况变得不可能(如宏观)?或者这在技术上是可行的,但只是非常麻烦的开始?或者可以这样做吗?

android ios xamarin react-native

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

Javascript注入URL

我们有一个比较受欢迎的网站,最近我们开始在我们的日志中看到一些奇怪的URL弹出.我们的页面引用了jQuery,我们开始看到这些脚本的部分被插入到URL中.所以我们有这样的记录条目:

    /js/,data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d(
Run Code Online (Sandbox Code Playgroud)

请求的用户代理字符串是Java/1.6.0_06,所以我认为我们可以放心地假设它是一个可能用Java编写的机器人.另外,我可以在jQuery文件中找回附加代码.

现在,我的问题是为什么机器人会尝试将引用的Javascript插入到URL中?

javascript security http code-injection

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

优雅的foreach - 在Razor构建

很多模板引擎都有一种特殊的语法是组合foreachelse.基本上,elseforeach循环没有任何迭代时执行该子句.如果要在列表回退中显示某种没有项目,这可能很有用.

例如,在Twig中,for循环可能如下所示

{% for user in users %}
    <li>{{ user.username|e }}</li>
{% else %}
    <li><em>no user found</em></li>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

使用Razor View Engine,模板会像这样,包括对集合中项目数量的额外检查:

@foreach (var user in users) {
    <li>@user.UserName</li>
}
@if (!users.Any()) {
    <li><em>no user found</em></li>
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:我们可以使用Razor View Engine以某种方式实现类似的优雅.

.net asp.net-mvc templating razor twig

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

双引号之间的剃刀代码

在Razor View Engine模板中,我想执行以下操作:我想在html 属性的双引号之间放置一些代码.麻烦的是我要插入的代码片段本身包含一些双引号.

<a href="Url.Action("Item", new { id = Model.Item.Id, page = page });">@page</a>
Run Code Online (Sandbox Code Playgroud)

你可以很容易地看到事情变得非常糟糕:-)我知道我可以计算变量中的链接然后使用它,但我宁愿不:

@{ var action = Url.Action("Question", new { id = Model.Question.Id, page = page }); }                   
<a href="@action">@page</a>                                        
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc templating razor asp.net-mvc-3

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

HttpUtility.HtmlEncode逃避太多了?

在我们的MVC3 ASP.net项目中,HttpUtility.HtmlEncode方法似乎逃避了太多的字符.我们的网页作为UTF-8页面提供,但该方法仍然可以转义像ü或日元字符¥这样的字符,即使这些字符是UTF-8集的一部分.

所以当我的asp.net MVC视图包含以下代码时:

    @("<strong>ümlaut</strong>")
Run Code Online (Sandbox Code Playgroud)

然后我希望Encoder能够逃避html标签,但不是 ümlaut

    &lt;strong&gt;ümlaut&lt;/strong&gt;
Run Code Online (Sandbox Code Playgroud)

但相反,它给了我以下HTML:

    &lt;strong&gt;&#252;mlaut&lt;/strong&gt;
Run Code Online (Sandbox Code Playgroud)

为了完整起见,我还提到web.config中的responseEncoding明确地设置为utf-8,所以我希望HtmlEncode方法能够遵循这个设置.

    <globalization requestEncoding="utf-8" responseEncoding="utf-8" />
Run Code Online (Sandbox Code Playgroud)

.net asp.net unicode utf-8 razor

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

Sharepoint列表的开源替代方案

Sharepoint的列表功能非常强大.因为我不想要Sharepoint的所有其他功能,所以我一直在寻找替代方案(优选的开源),但没有取得多大成功.

基本上我想要一个平台或Web应用程序:

  1. 允许我们定义自定义数据类型(针对不同类型的客户产品)
  2. 有可能创建视图或表单以呈现给用户以读取,创建或更新给定数据类型的项目的信息
  3. 设置此配置的ui不是必需的,但是很高兴

在理想情况下,有一个API可以在以后获取数据以进行进一步处理.

asp.net sharepoint open-source

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

使用Roslyn动态编译控制器

随着Roslyn CTP的公开化,除了编写c#脚本之外,我们可以尝试考虑我们可以用它做的很酷的事情.

由于asp.net mvc允许你编写自定义控制器工厂,我们可以编写一个工厂

  • 即时编译源文件中的控制器
  • 将新创建的类型加载到运行时(运行时可以处理吗?)
  • 如果以前对同一控制器的请求已经完成,则取代之前的类型

这将允许我们快速原型化或更改控制器,因为您可以简单地编写代码,controllerfactory将获取更改而无需重新编译.

asp.net asp.net-mvc dynamic roslyn

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

无限执行Lucene搜索的推荐方法

Lucene 文档告诉我,将在Lucene 3.0中从API中删除“命中”。

不推荐使用。匹配将在Lucene 3.0中删除。改用search(Query,Filter,int)。

建议的重载将返回的文档数限制为int的值。

所以我的问题是:在Lucene中进行搜索且不限制要返回的文档数的推荐方法是什么?

lucene full-text-search

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

使用nlog滚动文件登录控制台应用程序

NLog的文件目标是可配置的,但它似乎不支持我想要实现的目标.

我的控制台应用程序将消息写入日志文件,但我希望它做两件事:

  • 每次运行时都会启动一个新的日志文件.因此,每次启动应用程序时,都应创建一个新的日志文件.
  • 不应覆盖或删除以前的日志文件,我也想保留x最新的运行.

存档*属性似乎非常接近,但它们是按时间滚动,而不是执行基础.

.net logging nlog

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