2009-03-27 6 views
2

ASP.Net(フォーム)UIと一部のWCF Webサービスの両方を含むWebプロジェクトがあります。これはIIS 6でホストされています.UIとWCFサービスの両方で、web.configファイルの<appSettings>セクションに格納されているライセンスを必要とするPDF生成ツールを使用します。ライセンスは、ウェブサイトのドメイン(example.comなど)に基づいています(すべてのサブドメインはライセンスに含まれています)。IISで実行されているWCF?

ツールのDLLが呼び出されると、ライセンスされているドメインで実際に実行されているかどうかを確認します。 UIがこのツールを呼び出すと、すべて正常に動作します。 WCFサービスが同じように機能するとき、ツールは何とかドメインではなくサーバーの名前を取得するため、ライセンスされていないとみなされます。

私は本当にツールに集中する必要はありません、私が知りたいことは次のとおりです。.aspx.svcファイル(とその親DLL)は両方とも同じIIS 6のWebサイトにホストされている

場合それらが同じアカウント/ユーザー/権限セット/ etcの下で実行されているかどうか?また、WCFサービスの実装(およびコントラクト)が別々のDLLにあることは重要ですか?

答えて

3

私はこのツールがどのようにチェックしているのだろう...あなたはenable ASP.NET compatibility modeが必要かもしれないと思います。もう1つの試みは、WCF設定でアドレスを明示的(相対ではなく)にすることです。

いいえ、別途dllについては関係ありません。については問題ありません(何でもできますが!)。

編集:

またはweb.configファイルで

、system.serviceModel下:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
1

ASP.Netの互換性をオンにすると、問題を解決しません。ありがとうMarc Gravell!しかし、それはあなたにもサービス契約を実装するクラスを変更する必要があることを指摘する価値がある - 次の属性は、クラスに必要とされています。

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 

また、必要に設定することができます。 handy table on MSDNがあります。

(明示的なアドレッシングも機能するかどうかわかりませんが、サービスはSSLオフロードロードバランサ(F5)の背後にあるため使用できません。したがって、WCFはHTTP HTTPS経由)

関連する問題