小编Chr*_*son的帖子

扩展名未通过路由处理的网址

我一直在接受本文的建议,即在asp.net mvc3中设置robots.txt文件,以便使用控制器来处理服务器响应,而IIS 8.0 express则返回一个文件未找到错误,而不是asp.净误差.

在这些情况下,如何让IIS不查找文件?我在web.config中需要一些东西吗?

asp.net-mvc-routing asp.net-mvc-4

14
推荐指数
1
解决办法
6229
查看次数

这是一个加密强大的 Guid 吗?

我正在考虑使用 Guid 作为网站的随机匿名访问者标识符(存储为 cookie 客户端大小和数据库服务器端),我想要一种生成 Guids 的加密方式(以便尽量减少碰撞的机会)。

为了记录,Guid 中有 16 个字节(或 128 位)。

这就是我的想法:

/// <summary>
/// Generate a cryptographically strong Guid
/// </summary>
/// <returns>a random Guid</returns>
private Guid GenerateNewGuid()
{
    byte[] guidBytes = new byte[16]; // Guids are 16 bytes long
    RNGCryptoServiceProvider random = new RNGCryptoServiceProvider();
    random.GetBytes(guidBytes);
    return new Guid(guidBytes);
}
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?

编辑: 这将用于两个目的,访问者的唯一 ID 和购买的交易 ID(这将简要地作为查看/更新敏感信息所需的令牌)。

c# random guid

6
推荐指数
2
解决办法
1969
查看次数

什么保证文件写入位置可用?

在本地系统上,是否有(合理)保证创建目录结构来写文件的地方?我正在寻找一个不需要管理权限进行权限更改的解决方案?

经过一番研究,我看到了这个答案,找到了当前用户的桌面文件夹.我可以使用它,但还有其他选择吗?

综合研究:

System.Environment.SpecialFolder 列举

c# .net-4.5

5
推荐指数
2
解决办法
524
查看次数

为什么IIS 8.0 Express在Visual Studio 2012中重命名后使用旧项目名称

在一些命名混乱后,我的团队决定重命名一些项目和项目中所有现有代码文件的命名空间.(在Visual Studio 2012中)

我们改变了:

  • 项目名称
  • 项目属性中的程序集名称,默认名称空间,标题和产品条目
  • 重命名的每个项目中每个代码文件的名称空间
  • 修改后的命名空间的所有using语句
  • 清除/ bin目录中的旧.dll文件(路由引擎找不到多个控制器)
  • 实际文件夹本身,需要删除并重新添加项目到解决方案(并重新引用已重命名的项目)

在完成所有这些之后,IIS 8.0 Express仍然坚持使用旧项目名称作为站点名称(在本地调试时).我怎样才能解决这个问题?

编辑: 真正的问题是:IIS 8.0 Express如何确定网站名称

这是一个剪辑自(.之一)网站的.csproj文件

<ProjectExtensions>
  <VisualStudio>
    <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
      <WebProjectProperties>
        <UseIIS>True</UseIIS>
        <AutoAssignPort>True</AutoAssignPort>
        <DevelopmentServerPort>52143</DevelopmentServerPort>
        <DevelopmentServerVPath>/</DevelopmentServerVPath>
        <IISUrl>http://localhost:53177/</IISUrl>
        <NTLMAuthentication>False</NTLMAuthentication>
        <UseCustomServer>False</UseCustomServer>
        <CustomServerUrl>
        </CustomServerUrl>
        <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
      </WebProjectProperties>
    </FlavorProperties>
  </VisualStudio>
</ProjectExtensions>
Run Code Online (Sandbox Code Playgroud)

...而且没有任何网站名称.

c# project iis-express asp.net-mvc-4

4
推荐指数
1
解决办法
2585
查看次数

webapp的`InSingletonScope`到底有多长?

我刚刚接触到 Ninject.Mvc3 NuGet 包,我想知道创建的对象持续多长时间。

InRequestScope很容易理解:只要网络服务器正在处理特定的网络请求,在此范围内创建的每个对象都会存在。(为了迂腐,对象的生命与对象一样长HttpContext.Current

但是这些InSingletonScope物体能持续多久呢?文档说,只要 Ninject 内核本身这样做——它包含在NinjectWebCommon静态类中。到目前为止,我所做的最好的猜测是,只要服务器运行 web 应用程序,内核就会一直存在——只要服务器启动,直到应用程序在 IIS 中手动重新启动或更新,对象都在范围内。

我很好奇,因为我很想拥有一些包含只读数据字典的数据访问器作为单例范围,我想知道这是一个好主意,还是计划中的内存泄漏。

c# ninject asp.net-mvc-4

4
推荐指数
1
解决办法
395
查看次数

有没有办法重构两个方法,一个调用等待方法,一个调用正常方法?

我正在为一个网站构建一个缓存服务,我想提供一个公共接口,它可以采用一个Func<TKey,TValue>Func<TKey,Task<TValue>>一个可以被服务调用的方法来缓存未命中.

我最终在处理这两个委托类型时重复代码.有没有办法巩固?我特别担心'Func'方法不是线程安全的,并且不适合包装在'Task.Run'中.

这是我的代码:

public interface ICacheServiceEngine
{
    Task<CacheResult<TValue>> TryGetValueAsync<TValue>(string key);
    Task<CacheResult<TValue>> 
        TryGetValueAsync<TKey,TValue>(TKey key, Func<TKey,string> keyFunc);
    Task<TValue> GetValueAsync<TValue>(string key, 
        Func<string, TValue> valueSourceFunc);
    Task<TValue> GetValueAsync<TKey,TValue>(TKey key, 
        Func<TKey,string> keyFunc, Func<TKey, TValue> valueSourceFunc);
    Task<TValue> GetValueAsync<TValue>(string key, 
        Func<string, Task<TValue>> valueSourceFuncAsync);
    Task<TValue> GetValueAsync<TKey, TValue>(TKey key, 
        Func<TKey,string> keyFunc, Func<TKey, Task<TValue>> valueSourceFuncAsync);
}

public interface ICacheServiceDataAccessor
{
    Task<CacheResult<TValue>> TryGetAsync<TValue>(string key);
    Task PutAsync<TValue>(string key , TValue result);
}


public class CacheServiceEngine : ICacheServiceEngine
{
    private ICacheServiceDataAccessor cacheDataAccessor;


    public CacheServiceEngine(ICacheServiceDataAccessor cacheDataAccessor)
    {   
        // add guard
        this.cacheDataAccessor …
Run Code Online (Sandbox Code Playgroud)

c# functional-programming func async-await asp.net-mvc-4

0
推荐指数
1
解决办法
110
查看次数