小编Gar*_*lie的帖子

单声道,asp.net c#和MVC如何和教程

对于熟悉Mono或Mono Development(无论它叫什么)的任何人来说,在.net中编程和在linux中部署(如果你也知道,那就是mac)我有一些基本的问题.关于我自己,我主要使用MVC3和MVC4,一些Windows窗体,以及未来的移动应用程序.98%的时间用在c#中,其余的用c ++.

1)您是否可能会遇到更多错误和错误而不仅仅是坚持使用Windows部署?如果是这样,一些错误有多糟糕,你有没有工作的项目吗?

2)您是否建议在Visual Studio中编程,然后将其部署到单声道平台?或者你推荐一个更好的IDE,比如Mono(或Eclipse,如果可能的话)?目前我使用Linux作为我的操作系统并使用Visual Studio运行Windows 7.

3)由于我有几个使用.net 4.5 beta和mvc4 beta完成的应用程序,这些应用程序是否与当前版本的Mono兼容?如果不是从框架正式发布到Mono兼容的平均时间框架是什么时候?

4)我不了解数据库.我的数据库是针对SQL Server的,我是否必须将它们更改为在Linux服务器上运行.这是痛苦还是容易出错?我的sql server数据库首先使用实体​​代码创建,如果我必须创建MySQL数据库(或其他),这是否有效?

5)目前我将我的mvc网站部署到Server 2008r2远程服务器.您是否可以使用IIS替代IIS?你能给我一个关于设置这个的教程的链接吗?

6)如果问题4可能,在Linux上部署MVC网站会有什么损失?速度,可靠性,安全性等?

7)你能估算出单声道+某种iis +框架等占用多少磁盘空间吗?在Linux操作系统与Windows操作系统的比较中,Windows占用了更多的空间; 那么使用这种单声道设置也占用了大量的磁盘空间?(我知道操作系统大小比较不是一个很好的例子.)

8)你有没有可以忽略的缺点,你可以想到吗?就像目录浏览,配置文件雇佣,jquery/ajax问题等有任何奇怪的问题.

9)你有任何建议,教程,博客等吗?是否有一个Stack Exchange站点比这个更好地处理这些类型的问题?(除了Linux之外,我找不到一个.

10)虽然我不需要这样做,但我想设置它并且只是为了将来可以选择,但如果完全浪费我就不会浪费时间.我现在有租用的Linux VPS和Windows VPS,所以如果我这样做,它也会让我只拥有一台Linux远程服务器(可能硬盘空间和内存较少),这样可以省钱.所以我的最后一个问题是,如果您的情况与我的相似,您会建议这样做吗?

请回答您的任何问题,提前致谢并抱歉这么多问题,Garrett Fogerlie

.net c# linux mono asp.net-mvc-3

16
推荐指数
1
解决办法
7017
查看次数

如何扩展aspnet成员身份认证表?

我想realName在用户的用户名和电子邮件地址之外添加一个字段.

在过去,我创建了一个新表,其中包含用户注册时的usernamerealName列.但是,我想知道是否可以扩展默认的asp.net表单身份验证成员资格表或用户表(或者需要任何表来添加它),而不是为此信息创建新表.

问题:如何向身份验证表添加新列?

asp.net entity-framework asp.net-mvc-3 form-authentication

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

如何使用dotnet highcharts dll在MVC3中显示HighCharts?

我正在尝试一种方法将数据绑定到饼图

  Public ActionResult Charts
  {
      Highcharts chart = new Highcharts("chart")
        .InitChart(new Chart { PlotShadow = false })
        .SetTitle(new Title { Text = "Browser market shares at a specific website, 2010" })
        .SetTooltip(new Tooltip { Formatter = "function() { return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %'; }" })
        .SetPlotOptions(new PlotOptions
        {
            Pie = new PlotOptionsPie
            {
                AllowPointSelect = true,
                Cursor = Cursors.Pointer,
                DataLabels = new PlotOptionsPieDataLabels
                {
                    Color = ColorTranslator.FromHtml("#000000"),
                    ConnectorColor = ColorTranslator.FromHtml("#000000"),
                    Formatter = "function() { return '<b>'+ this.point.name …
Run Code Online (Sandbox Code Playgroud)

highcharts asp.net-mvc-3 pie-chart

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

Bootstrap-table 如何使用 exportOptions

我想更改使用表导出扩展时使用的文件名。我知道我可以使用 exportOptions 添加 {fileName:'custom_file_name'}。但我不知道把这个放在哪里。

我试过:

data-export-options="{fileName:'custom_file_name'}"
Run Code Online (Sandbox Code Playgroud)

我尝试添加为一种方法:

$('#table').bootstrapTable('exportOptions', {fileName: 'custom_file_name'})
Run Code Online (Sandbox Code Playgroud)

但后来我收到一个错误:未捕获的错误:未知方法:exportOptionsenter code here

我错过了什么?

javascript bootstrap-table

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

在登录页面上覆盖防伪标记错误

我有一个网站收到大量以下错误:

提供的防伪令牌适用于与当前用户不同的基于声明的用户.

防伪cookie令牌和表单字段令牌不匹配.

如果防伪令牌不是针对用户但在登录页面上包含用户,我想阻止该站点抛出错误,例如:

提供的防伪令牌适用于用户"",但当前用户是"Garret".

我不希望此例外适用于登录页面以外的任何其他页面.所以我不想添加AntiForgeryConfig.SuppressIdentityHeuristicChecks = true;到整个网站.我还想让网站尽可能安全,因为它包含HIPAA数据.我该怎么做才能保证它尽可能安全,但仍然试图在登录页面上防止这个错误,因为它使用户难以使用?

该站点托管在负载平衡服务器上,但我认为这不是问题.我认为错误主要是由于使用浏览器的后退按钮,在登录前打开登录页面一段时间,已登录或多次登录.还有一些用户通过可能没有加载页面的应用程序访问它,只是尝试发布登录信息.

所以,请让我知道在尽可能安全的同时防止登录页面出现此错误的最佳选择是什么?

c# security authentication asp.net-mvc asp.net-mvc-5

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

URL或域/ AppName中的重复域

我确定这是一个简单的问题,但我注意到当我在GoDaddy上托管(共享主机)网站时,URL会重复应用程序名称.

例如,我有http://makedifferences.org,如果我去了它的罚款,但如果我点击一个链接它会带我到http://makedifferences.org/makedifferences/ ...

它不仅仅是这一个网站,它是我在GoDaddy上的所有网站,我认为在我的其他地方托管的网站上可能是相同的,但我现在无法检查它们.

我没有使用Web部署来部署它,因为我首先想到的是它必须做IIS.我的猜测是它必须是发布设置中的一个设置,但我玩它们并且似乎无法让它消失.

任何意见,将不胜感激.谢谢,加勒特

更新

这显然不是一个mvc的事情,因为我检查我在dotnet-host.com托管的网站,它没有这个问题.所以我想这是我在Godaddy的设置.

我删除了该文件夹并设置了一个虚拟文件夹,但这并没有解决问题.

我有多个站点托管通过他们和我的域名A记录是我的所有站点的专用IP,然后在主机的域管理我将域名指向该站点所在的文件夹.

我认为这是正确的方法,但我不确定.

为了重申我的问题,我现在对它有了更多了解,如果我输入http://makedifferences.org/Charities/Details/3页面加载,一切都很完美.但是,如果我点击主页上的链接去那里,网址是http://makedifferences.org/makedifferences/Charities/Details/3

谢谢,为什么我认为它是Visual Studio中的一个设置.

asp.net-mvc-3

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

MVC3将多个pdfs作为zip文件返回

我有一个视图,它返回一个包含多个页面的pdf(使用iTextSharp),但现在我必须更改它,以便每个页面都是一个单独的pdf(带有它自己的唯一标题)并返回一个zip文件.

我的原始代码如下所示:

public FileStreamResult DownloadPDF()
{
    MemoryStream workStream = new MemoryStream();
    Document document = new Document();
    PdfWriter.GetInstance(document, workStream).CloseStream = false;
    document.Open();

    // Populate pdf items

    document.Close();

    byte[] byteInfo = workStream.ToArray();
    workStream.Write(byteInfo, 0, byteInfo.Length);
    workStream.Position = 0;

    FileStreamResult fileResult = new FileStreamResult(workStream, "application/pdf");
    fileResult.FileDownloadName = "fileName";

    return fileResult;
}
Run Code Online (Sandbox Code Playgroud)

使用gzip压缩文件看起来很简单,但我不知道如何gzip多个文件并将其作为一个zip文件返回.或者我应该使用gzip以外的东西,比如dotnetzip或sharpzip?

提前致谢!

c# zip file itextsharp asp.net-mvc-3

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

信号器连接断开并重新连接

我想确保我正在为SignalR库正确实现组功能.

我正在做的是允许用户为特定项目寻求帮助.启动项目的用户可以将其他用户添加到其项目的协作表中.

Collaboration 
(
    UserID Uniqueidentifier,
    ProjectID INT
)
Run Code Online (Sandbox Code Playgroud)

如果任一用户进入协作模式,我想将该用户添加到组中,因此如果其他用户登录并进入协作模式,则会将其添加到同一组中.这些组总是被命名为ProjectID.

因此,当用户登录并打开项目时,如果该项目在协作表中,我将它们添加到Groups.Add(Conext.ConnectionId,projID);


这是我的问题:

当用户从客户端连接并且如果没有存在projID的组时调用OnConnected,则会抛出错误或者信号器只是动态创建该组?

    public override Task OnConnected(string projID)
    {
        return Groups.Add(this.Context.ConnectionId, projID);
    }
Run Code Online (Sandbox Code Playgroud)

当客户端关闭浏览器时,是否在调用OnDisconnected时?如果那个用户由于某种原因不在所说的projID组中,那么这会抛出错误还是会让信号器处理这个?

    public override Task OnConnected(string projID)
    {
        return Groups.Add(this.Context.ConnectionId, projID);
    }
Run Code Online (Sandbox Code Playgroud)

对于OnReconnected,这是否意味着如果用户注销并执行其他操作然后重新登录,则会在连接丢失之前将其自动添加回他们所在的组中?

    public override Task OnReconnected(string projID)
    {
        return Clients.Group(projID).rejoined(Context.ConnectionId,
            DateTime.Now.ToString());
    }
Run Code Online (Sandbox Code Playgroud)

对于上述所有方法,我是否需要调用每个覆盖方法的基本方法?

c# asp.net-mvc signalr

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