0

ASP.NET MVC 5 プロジェクトの web.config でカスタム構成セクションを使用しています。リンクを介してファイルをダウンロードしようとするまでは、完全に正常に動作します。

<a href="@Url.Action("Download", new { id = Model.Id })">...

コントローラーでダウンロードを処理する方法は次のとおりです。

return new FileStreamResult(myStream, "application/octet-stream")
{
    FileDownloadName = "MyFile.someExt"
}

上記のダウンロード リンクをクリックする場合を除いて、カスタム構成が正常に機能することを繰り返します。次に、エラーが発生します。

Unrecognized element 'link'.

link私のカスタム構成セクションの子要素である、つまり、

<navigationMenu>
    <link ...

編集 1:次の方法でカスタム構成セクションにアクセスしていることは、役立つ情報になる可能性があります。

XDocument.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile)
    .Root.Element("navigationMenu");

ただし、web.config には適切に登録されています<configSections />。つまり、

<!-- From web.config -->
<section name="navigationMenu" type="MySite.Helpers.NavigationMenuSection, MySite" />

// With the config section class declared like so:
public class NavigationMenuSection : ConfigurationSection
{ }

ただし、ダウンロード リンクをクリックするまでは、これで問題なく動作することをもう一度強調します。content-type が問題を引き起こすのはなぜですか? この問題に頭を悩ませることはできません...

4

1 に答える 1

1

カスタム手段で「セクション」にアクセスし、.Net 構成メカニズムを使用しない場合は、型をSystem.Configuration.IgnoreSectionとして登録することもできます。これにより、構成ファイルの変更を反映することなく、構成オブジェクトを簡単に変更できます。.Net 構成オブジェクトからオブジェクトを派生させる必要さえありません。

于 2015-05-28T21:28:16.200 に答える