- 次のクラスでアセンブリ(dll)を作成しました。
Person.cs
[Table("People")]
public class Person
{
[Key]
public int ID { get; set; }
public string Name { get; set; }
}
DataContext.cs
public class DataContext : DbContext
{
public DbSet<Person> People { get; set; }
public DataContext()
: base("name=DataConnection")
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
base.OnModelCreating(modelBuilder);
}
}
Calc.cs
public class Calc
{
public int Sum(int num1, int num2)
{
return num1 + num2;
}
}
Nugetを使用して、次のパッケージをインストールしました。
インストールパッケージEFCodeFirst.SqlServerCompact
- 新しいサイトMVC3を作成しました
以前に作成したdll参照を追加しました
次のアクションを変更しましたHomeController
HomeController.cs
public ActionResult Index()
{
ViewBag.Message = "Sample Security Error";
return View();
}
public ActionResult Sum(int num1, int num2)
{
ViewBag.Message = "Sample Security Error";
return View("Index", num1 + num2);
}
新しいコントローラーを追加しました
PeopleController.cs
public ActionResult Index()
{
using (var db = new DataContext())
{
var people = from p in db.People
select p;
return View(people.ToList());
}
}
View/Home
次のコードでを変更しました。
Index.cshtml
@model int?
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
@Html.ActionLink("Sum", "Sum", new { num1 = 2, num2 = 4})
@if (Model.HasValue)
{
<p>The value is: @Model.Value</p>
}
else
{
<p>No value</p>
}
新しいView/People
Index.cshtml
@model IEnumerable<Error.SecurityException.Model.Person>
@{
ViewBag.Title = "People";
}
<h2>@ViewBag.Title</h2>
<ul>
@foreach (var item in Model)
{
<li>@item.Name</li>
}
</ul>
Web.configに接続文字列を追加しました
<connectionStrings>
<add name="DataConnection" connectionString="Data Source=|DataDirectory|Data.sdf;" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
App_Data
フォルダは、クラスData.sdf
と同じ構造でデータベースを作成しました。Person.cs
Nugetを使用して、次のパッケージをインストールしました。
インストールパッケージEFCodeFirst.SqlServerCompact
結果
ローカルIISのコードは完全に機能しました!
合計値
展示者
エラー
サイトを公開したときに、人物を表示しようとすると、セキュリティエラーメッセージが表示されます。
System.Security.SecurityException:リクエストが失敗しました。
合計値は通常行われます!
このアドレスでプロジェクトを公開しました。
メニューをクリックするとPeople
、エラーが表示されます。
サンプルプロジェクトを圧縮し、このアドレスで公開します。
私は助けに感謝します!