0

私はMVC 3アプリケーションプロジェクトを持っています。これは、次のServiceProjectようなコマンドを実行するを参照しますCreateNewPost(Foo entity)...

重要: この ServiceProject は参照できませんSystem.Web.MVC

システム上の特定のページ (例) への URL リンクを含む電子メール (このメソッドは ServiceProject にあります) を作成する必要がありますがTestController/FooAction、実稼働環境、テスト環境で正しく生成される相対 URL を作成したいと考えています。 、または開発環境(localhost)さえも。

その URL を作成するにはどうすればよいですか?

4

3 に答える 3

2

明白な方法の 1 つは、ベース URL をメソッドに (または依存性注入によってプロジェクト全体に) 渡すことです。


別の方法として、参照でき、関連System.Webする HTTP 要求がある場合は、次を使用できます。

HttpContext.Request.Url.Scheme + "://" +  HttpContext.Request.Url.Authority + HttpContext.Request.ApplicationPath

SchemeURLスキーム(別名protocol)を提供します。

Authorityリクエストサーバーのホスト名とポートを提供します。

ApplicationPathサーバー上の ASP.NET アプリケーションの仮想ルート パスを提供します。


以前にここでHttpRequest回答したように、 なしではできないようです。

于 2013-04-02T19:43:23.877 に答える