小编Gar*_*ill的帖子

如何在IIS7上安装asp.net mvc 2?

我开发了一个ASP.NET MVC 2网站,现在需要将它部署到我的Web服务器上.我已经克服了一些障碍,因为ASP.NET没有安装等等,但我现在已经到了可以提供普通内容文件的地步,如果我尝试点击我的一个MVC URL,我得到这个:

无法加载文件或程序集'System.Web.Mvc,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件.

不足为奇,因为我没有安装MVC2.问题是,我找不到有关如何安装它的任何好信息!

微软下载中心列出了3个文件,其中没有一个看好:

ASP.NET-MVC-2-RTM-RELEASE-Notes.doc

AspNetMVC2_VS2008.exe

mvc2-ms-pl.zip

该网站并不打算解释文件实际是什么,但我认为最后一个文件是源代码.无论如何,这就是它的样子.发行说明没有任何帮助,因为它们都是关于在开发机器上安装的,实际上EXE的名称清楚地说明了所有关于Visual Studio集成的内容.

那么我该如何实际部署这个糟糕的东西呢?

Scott Gu的博客相关联的另一个选项是Microsoft Web Platform Installer.现在,我不想安装不仅仅是MVC2,而且我已经安装了IIS等,所以这看起来有点沉重.但这都是学术性的,因为它拒绝在我的服务器上运行,说"你的系统不受支持"或者说是这样的话.(服务器是Windows Server 2008 Standard SP2,所以我真的不知道它的问题是什么).

救命!

[荒谬的是,这应该是如此艰难 - 或者根本不是很难,但肯定是一个保守的秘密!]

asp.net-mvc iis-7

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

如何让ELMAH使用SQL Server(权限问题)

我已经让ELMAH在我的(Cassini)开发服务器上工作了,并且非常满意它,但是现在我正试图将所有东西都移到我的生产服务器(IIS7),蜜月看起来就像结束了.

我已经超越了IIS7"陷阱",坦率地说可以在文档中更好地突出显示,如果我只是使用内存中的日志,那么它可以工作.

但是,我试图让它使用SQL Server日志(就像我在我的开发系统上那样),并且我得到了一个错误:

对象ELMAH_GetErrorsXml上的EXECUTE权限被拒绝

好吧,好吧.我知道如何授予数据库权限,但我真的很难理解我需要授予访问权限的用户和哪些存储过程/表.

让我感到困惑的是,我没有做任何这样的事情让它在我的开发服务器上工作.我能看到的唯一区别是,在我的开发服务器上它似乎连接为NT AUTHORITY\IUSR,而在我的生产服务器上它似乎连接为NT AUTHORITY\NETWORK SERVICE.(它只是使用可信连接,所以我没有明确配置它来做到这一点 - 我认为它与Web服务器有关).更新:我已经确定,因为我正在使用Cassini,它实际上是以我(管理员)而不是IUSR登录,这解释了为什么我没有得到任何权限问题.

在我的开发服务器上,IUSR帐户是公共数据库角色的成员,并且可以访问所需的数据库(再次作为"公共").没有明确授予对象级权限.[见上面的更新 - 这是无关紧要的].

在我的生产服务器上,我以完全相同的方式添加了NETWORK SERVICE(公共数据库角色,显式访问数据库为"public").然而,我得到了这个权限错误.为什么?!![请参阅上面的更新 - 我没有获得权限错误的唯一原因是因为我作为管理员运行].

而且,当然,如果它在本地工作的事实只是"运气",我将需要知道授予访问权限的SP /表.我的猜测是所有3个SP而不是表,但是(再次)看到一些使这个显式的文档会很好.

asp.net elmah sql-server-2008 visual-studio-2008

8
推荐指数
2
解决办法
4964
查看次数

如何让Glimpse与EF6合作?

编辑:底部添加堆栈跟踪.

我有一个ASP.NET MVC 5项目,它通过Entity Framework 6使用SQL Server数据库.

我将Glimpse(和Glimpse.MVC5)添加到项目中,这很好.

但是,当我添加Glimpse.EF6时,我的应用程序一旦尝试访问数据库就会抛出异常.例外是:

System.NotSupportedException

无法确定"System.Data.SqlClient.SqlClientFactory"类型的提供程序工厂的提供程序名称.确保在应用程序配置中安装或注册了ADO.NET提供程序.

这是怎么回事?仅供参考,connectionStrings我的web.config部分如下所示:

<connectionStrings>
  <add name="DefaultConnection" connectionString="Data Source=.; Initial Catalog=foo; Integrated Security=True; MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

...我的Application_Start方法看起来像这样:

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();
    GlobalConfiguration.Configure(WebApiConfig.Register);
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);

    Database.SetInitializer(new WebApplication.Models.Storage.ApplicationDbInitializer());
}
Run Code Online (Sandbox Code Playgroud)

...我的上下文类看起来像这样:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }

    public DbSet<Foo> Foos { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

在此先感谢任何帮助......


堆栈跟踪:

[NotSupportedException: Unable to determine the provider name for provider factory of type 'System.Data.SqlClient.SqlClientFactory'. Make …
Run Code Online (Sandbox Code Playgroud)

glimpse entity-framework-6 asp.net-mvc-5

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

使用ContinueWith时为什么会收到编译器警告?

我有这行代码:

t.ContinueWith(_ => form.Close(), 
                  TaskScheduler.FromCurrentSynchronizationContext());
Run Code Online (Sandbox Code Playgroud)

...关于编译器有什么要说的:

警告2由于未等待此调用,因此在完成调用之前将继续执行当前方法.考虑将'await'运算符应用于调用的结果.

现在,这不是我写的代码,但我认为它只是在现有任务结束时添加一个延续.我认为它实际上并没有运行任务(或延续).那么仅仅修改任务的过程肯定是同步操作吗?我为什么要await这么做?

c# compiler-warnings async-await .net-4.5

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

如何让RestSharp使用BSON?

我正在使用RestSharp,并使用Json.NET进行序列化(请参阅此处).

Json.NET支持BSON,由于我的一些请求有大量的二进制数据块,我认为这会大大加快我的应用程序.但是,据我所知,RestSharp似乎没有任何内置的BSON支持.

使用Json.NET作为RestSharp的自定义序列化程序实现,因此乍一看它似乎可以修改该自定义序列化程序以使用BSON.但是,接口的Serialize方法RestSharp.Serializers.ISerializer返回string- 这是(我假设)不适合BSON.因此,我假设需要对RestSharp进行一些更重要的更改才能实现此更改.

有没有人想出办法做到这一点?


更新:我查看了RestSharp源代码,发现RestRequest.AddBody接受我的对象并将其序列化到请求体中的方法最终调用Request.AddParameter(使用序列化对象数据和参数类型RequestBody).

我想我可能能够将我的对象序列化为BSON,然后Request.AddParameter直接调用- 事实上我可以.但是,当RestSharp然后执行时RestRequest,它无法将二进制内容放入请求中,因为有关于请求内容的其他嵌入式假设是UTF-8编码的.

因此看起来这个hack不起作用 - 需要对RestSharp本身进行一些更改,而且我不是那个工作的人......


更新2:我决定使用调试器来计算我需要更改多少RestSharp以克服正文编码问题,所以我换掉了我的NuGet版本的RestSharp并将RestSharp项目包含在我的解.而且......它奏效了.

事实证明,在过去的几个月里,RestSharp已经发生了变化,而NuGet版本还没有.

因此,您现在可以使用AddParameter并传入已经BSON编码的对象,而RestSharp会将其发送到服务器而不会抱怨.

serialization json.net bson restsharp

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

如何在MVC视图中使用Bootstrap按钮插件

我很难让Bootstrap的按钮插件在我的MVC视图中工作.我正在使用最新的NuGet版本的ASP.NET MVC(5.1 rc1)和Bootstrap(3.03).

我在视图中有以下内容(现在我已经将它简化为手工编码的HTML而不是使用Html.EditorFor(),以试图让它工作):

@using (Html.BeginForm()) 
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        @Html.ValidationSummary(true)

        <div class="row">
            <div class="col-lg-6">
                <div class="input-group">
                    <input type="text" class="form-control" />
                    <span class="input-group-btn">
                        <button class="btn btn-default" type="button">Go!</button>
                    </span>
                </div>
            </div>
            <div class="col-lg-6">
                &nbsp;
            </div>
        </div>
Run Code Online (Sandbox Code Playgroud)

这会生成以下HTML:

<form action="xxx" method="post">
<input name="__RequestVerificationToken" type="hidden" value="T3k..." />
<div class="form-horizontal">
    <div class="row">
        <div class="col-lg-6">
            <div class="input-group">
                <input type="text" class="form-control" />
                <span class="input-group-btn">
                    <button class="btn btn-default" type="button">Go!</button>
                </span>
            </div>
        </div>
        <div class="col-lg-6">
            &nbsp;
        </div>
    </div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

问题是,当它在浏览器(Chrome 32/IE 11)中显示时,输入框和按钮之间存在很大差距.像这样:在此输入图像描述

如果我将 …

asp.net-mvc html5 css3 twitter-bootstrap asp.net-mvc-5

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

如何在 PowerPoint VBA 中模拟 ThisPresentation

我希望能够通过加载项本身的一些 VBA 代码访问 PowerPoint 加载项文件(保存为“PowerPoint 加载项 (*.ppa)”的演示文稿)的文档属性。

如果它有助于理解问题,我实际尝试做的是读取存储加载项版本号的自定义文档属性,以便我可以在对话框中显示它。

在 Word 和 Excel 中,我可以使用ThisDocument&执行此操作ThisWorkbook,它们都返回对包含正在运行的代码的文档的引用。但是,ThisPresentationPowerPoint 中没有等效项。

对于标准的 PowerPoint 演示文稿或模板,我可以使用ActivePresentation. 但是,此方法不适用于加载项。

有任何想法吗?拜托,没有关于我应该在哪里贴版本号的建议:-)

powerpoint vba

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

以 application/octet-stream 形式发送数据是否比以 JSON 编码字节数组形式发送数据更有效?

我有一个网络应用程序,允许客户端一次请求多个图像缩略图。当前,响应作为 JSON 编码的对象列表发送,其中每个对象都包含(编码的)图像数据。(我使用的是 JSON.NET;看起来它将图像数据编码为 base64 字符串)。

如果我更改我的应用程序,使图像数据与 JSON 对象分开发送,作为“二进制”(应用程序/八位字节流)内容,这会更有效吗?

或者更简单地说,应用程序/八位字节流是否是比 Base64 更紧凑的编码?

另外,这与 image/jpeg 有什么不同?

encoding json http

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

如何将宏添加到Word 2010或PowerPoint 2010图表?

在PowerPoint 2010或Word 2010中,当我选择"插入" - >"图表"时,它会创建一个带有Excel工作表的新图表.

如果我将一个宏添加到Excel工作表,当我关闭工作表并重新打开它时,这似乎被丢弃了.

但是,它可能有宏的图表,因为我也有一些Word文档和我在Office 2003中,它已经嵌入Excel图表与宏创建PowerPoint演示文稿.当我将它们转换为Office 2010时,它们看起来就像"普通"Office 2010图表,但宏保留了下来.

在我看来,当您选择插入时创建的嵌入式图表 - >图表是"pptx"格式而不是"pptm"格式,因此不会保存宏.

(如果我查询ActiveWorkbook.FileFormat,我得到"51",这是"Open Xml Spreadsheet";这确实是"pptx",而不是"用Mac打开Xml电子表格",即"52").

如何插入带有"pptm"行为的图表?或者改变现有图表的行为?


注意:我不想插入图表"对象",因为这意味着图表在主机应用程序中不可编辑(它只是插入一个需要"打开"以便编辑它的Excel图表).


让我先行一步......我可以通过以下方法实现我想要的目标:

  1. 在Word(或PowerPoint)中创建一个新文档.
  2. 将文档另存为97-2003文档(强制它进入兼容模式).
  3. 使用"插入" - >"对​​象" - >"Microsoft Excel图表"插入图表.这嵌入了旧式的Excel图表.
  4. 右键单击 - >打开打开嵌入式图表,然后添加宏.
  5. 关闭图表,然后选择文件 - >信息并使用兼容模式"转换"按钮将文档转换为Office 2010文档.

现在您有一个"本机"Word或PowerPoint 2010图表,您可以直接在Word或PowerPoint中编辑它.如果单击图表并选择图表工具 - >设计 - >编辑数据,则打开的Excel工作表将包含您在步骤4中创建的宏.成功!

现在,有没有人有更简单的方法?

powerpoint vba ms-word ms-office office-2010

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

在ToDictionary中使用GroupBy的密钥时,为什么会出现“密钥已添加”错误?

我以为Linq GroupBy总是会产生唯一的键,但是当我将a的结果投影GroupByDictionaryusing中时.ToDictionary(),我收到一条错误消息,说“已经添加了具有相同键的项”:

在此处输入图片说明

这是有问题的代码:

return DbContext.Responsibilities
    .GroupBy(r => r.RoleCode)
    .ToDictionary(g => g.Key, g => g.Count());
Run Code Online (Sandbox Code Playgroud)

[这里Responsibilities是一个DbSet实体,其RoleCode成员是简单int属性。]

如果我将其更改为产生一系列匿名类型,然后从中创建字典,该字典将运行而不会出错:

return DbContext.Responsibilities
    .GroupBy(r => r.RoleCode)
    .Select(g => new { Code = g.Key, Count = g.Count() })
    .ToDictionary(i => i.Code, i => i.Count);
Run Code Online (Sandbox Code Playgroud)

为什么会有如此不同?

仅供参考,如果我创建一个临时List变量来保存匿名类型,则值如下:

在此处输入图片说明

因此,没有重复的密钥。

c# linq

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