問題タブ [structuremap3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
159 参照

c# - Structuremap バージョン 3、IEnumerable のコンストラクター インジェクション動作していません

と のようないくつかの型がParentClassAあり、それらのコンストラクターには、以下のコードに示すようなParentClassBパラメーターがあります。IEumerable<IType>,

今Structuremapレジストリで、(Structuremap dllのバージョンは3.1.5.0です)コンテキストに基づいて列挙型をセットアップしたいのですが、作成中の親オブジェクトに基づいて、

しかし、ParentClassA などのコンストラクターでアプリケーションを実行すると (正常にビルドされます)、渡された空のリストしか表示されませんが、期待しているのは function からの戻りリストですff

提案してください。ありがとう。

0 投票する
1 に答える
1009 参照

entity-framework - 破棄されたオブジェクトにアクセスできません。\r\nオブジェクト名: 'DataContext は Dispose 後にアクセスされました'

依存性注入を管理するために、Web API 2 プロジェクトの StructureMap.WebApi2 nuget パッケージを使用しています。DefaultRegistry.cs クラスでは、必要なすべての依存関係について説明しました。ネストされたコンテナーは、各要求に使用されます。

以前のバージョンの structuremap HttpContextScoped では利用できましたが、最新バージョン 3.0.0.0 では利用できなくなったため、LifeCycle を HttpContextLifeCycle としてセットアップしました。

Linq to Sql Datacontext オブジェクトが破棄され、次のエラーが発生します。

破棄されたオブジェクトにアクセスできません。\r\nオブジェクト名: 'DataContext は Dispose 後にアクセスされました'

を使用SingletonまたはThreadLocalStorageLifecycleスコープすると、正常に機能しDatacontextます。DataContextしかし、オブジェクトを Per Http Requestにスコープしたいと考えています。

DatacontextHttp リクエストごとにオブジェクトのスコープを設定するにはどうすればよいですか?

以下の記事を参考にしましたが、動作しませんHttpContextLifeCycle

http://ignipro.blogspot.in/2012/09/structuremap-scopes-and-life-cycles.html

0 投票する
1 に答える
1546 参照

c# - StructureMap が HttpContext で ArgumentNullException をスローする

私は非常に奇妙な問題を抱えていますStructureMap.MVC5

Visual Studio でまったく新しい MVC5 プロジェクトを作成しました (ASP.net MVC プロジェクトの既定のオプションは選択されたままです)。

次に、nuget パッケージ マネージャー ( Install-Package StructureMap.MVC) を介して structuremap.mvc5 をインストールしました。

次に、「HomeController.cs」ファイルの先頭に次のコードを追加しました。

次に、コンストラクターとプライベート メンバーを次のように追加しました。

最後に、About アクションの結果を次のように更新しました。

プロジェクトがコンパイルされ、起動します。通常どおりデフォルトのインデックス ページが表示されますが、ブラウザーにページが返されてから 2 ~ 5 秒後に、returnこのメソッドの行の "StructureMapDependencyScope.cs" で例外がスローされます。

与えられた正確なエラーは次のとおりです。

チェックは、System.Web.HttpContext.Currentこの時点では確かに null です。

プロジェクトを停止して再起動すると、同じエラーが発生します。
F5 キーを押して続行すると、Web サイトは期待どおりに機能し続けます。
ただし、F5 キーを押した後、しばらく待ってからプロジェクトを停止して再起動すると、何らかのコード変更を行って再構築するまでエラーは発生しません。

これは一見私には意味がありません!

とにかく..どんな助けもいただければ幸いです!

(それが違いを生む場合は、VS2015 Enterprise RC を使用します)

0 投票する
0 に答える
691 参照

asp.net-web-api - Owin、WebApi 2、および Structuremap 3 が Null HttpContext 例外をスローする

StructureMap 3 を OWIN でセルフホストされた WebAPI 2 と連携させようとしています。これを機能させることに成功した人はいますか?

Nuget から StructureMap 3、WebAPI 2.2、Owin Self Host、および StructureMap.WebApi2 をインストールしました。次に、WebApi サービスのスタートアップ クラスに、次のコードを追加しました。

ただし、アプリケーションの起動時に、アプリケーションが上記のコード サンプルのコードの最後の行に到達すると、次の例外が発生します。

さらに、StructureMap.WebApi2 nuget パッケージは、アプリケーションの起動時に IIS でホストされる WebApi アプリケーションで通常実行されるコードを含む App_Start フォルダーを作成するため、このコードをスタートアップ クラスの Configuration メソッドにコピー/貼り付けることも試みました。同じように:

残念ながら、この追加コードを使用しても、同じエラーが発生します。

過去に StructureMap 2 を WebAPI 2 および OWIN で動作させる際に問題が発生したことはありません。

0 投票する
1 に答える
300 参照

c# - 未登録の具象型のデフォルトは Always Unique です

このコードを検討してください

注入できる各具体的なタイプを登録したくありませんが、コンストラクターの注入または呼び出しごとにすべてを一意にしたいGetInstance

アップデート:

うーん、私は NestedContainers を間違って使用しているに違いありませんか? 私がやりたいことは、プログラムのサブ部分の「サブ」コンテナを作成することです(WPFクライアントなので、サブ部分はポップアップなどのサブモデルになる可能性があります)。サブモデルは、独自のサブモデルまたはサービスを持つことができます。これらは、Concrete で登録されていないか、または登録されているインターフェイスのいずれかです。まったく登録したくない具体的な型。そして、Structuremap が AlwaysUnique と呼ぶインターフェイスをデフォルトにしたいのですが、私の世界では、それが一時的な寿命です。私のタイプの 99.9% については AlwaysUnique が必要で、0.01% は入れ子になったコンテナの存続期間中に同じ参照が必要です。このユースケースは、ネストされたコンテナでは正しくないのでしょうか?

編集:これの典型的なユースケースは、ポップアップモデルとその子のようなプログラムの一部のみのイベント集約です

0 投票する
2 に答える
3813 参照

c# - DbContext で HttpContext.Current.User.Identity.Name にアクセスする

Created フィールドと Modified フィールドを追跡するために UserName を使用します。そのために、DbContext 内で直接 System.Web アセンブリを参照しました。

それは機能しますが、DbContext を非 Web 環境に公開する場合に備えて、DbContext を HttpContext と緊密に結合することはお勧めできません。だから私はこのように使用します:

Ioc config プロジェクト (私は別のクラス ライブラリで structureMap を使用しています):

しかし、アプリケーションを実行すると、上記の行に次のエラーが表示されます。

HttpContext を注入できないようです。

何か案が?