Hi All!
А что может сказать многоуважаемая общественность по возможности использования RFD совместно с COM+/Enterprise Services. И особенноинтересно в распределенной архитектуре, с вынесенным во внешний COM+ Application бизнес слоем (и потенциально на отдельную внешнюю машину)?
Попробовал я тут сделать простенкий тест (аналогичный хрестоматийному MS PetShop). BLL сделан как ServicedComponents в свою очередь ссылающийеся на DAL объекты, которе собственно используют RFD для получения данных. Данные, загружаемые через RFD, представлены простеньким классиком (даже не интерфейсом) ItemInfo с пятком строковых полей.
Так вот, при поптыке вызвать такой BLL — тут же получил по фейсу ексепшном (см ниже)

насколько я подозреваю, лезущий как раз от природы динамически генеримого RFD кода... (полный вид ругани в деталях – см ниже. Ключевые места выделены жирным). Впечатление как раз что тут и лезет как раз known issue RFD, что маппер создаёт наследуемый от абстрактного класса класс, полное имя которого отличается от оригинального и строится как NamespaceName.AbstractClassName.MappingExtension.AbstractClassName
тогда как COM+ похоже что пытается грузить по ссылке в асембли класс именуемый NamespaceName.AbstractClassName
Такое впечатление, что это ограничение практически означает невозможноть использования RFD совместно с Enterprise Services? Или я где-то ошибаюсь?
Есть ли у кого опыть реального использования RFD в распределенных архитектурах? Через COM+ или remoting? Если есть — хотелось бы услышать мнение о том насколько оно жизненно с RFD. А то как-то грустно получается — вроде как фремворчина красивая и удобная, а и не заюзать толком
Спасибо,
Александр.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: The located assembly's manifest definition with name 'Fd.Model.ItemInfo.MapDescriptor' does not match the assembly reference.
Source Error:
Line 198: <add assembly="System.EnterpriseServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 199: <add assembly="System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
Line 200: <add assembly="*"/>
Line 201: </assemblies>
Line 202: </compilation>
Source File: c:\windows\microsoft.net\framework\v1.1.4322\Config\machine.config Line: 200
Assembly Load Trace: The following information can be helpful to determine why the assembly 'Fd.Model.ItemInfo.MapDescriptor' could not be loaded.
=== Pre-bind state information ===
LOG: DisplayName = Fd.Model.ItemInfo.MapDescriptor
(Partial)
LOG: Appbase =
file:///D:/Documents/AW/Tests/RfdTry/Fd/FdWeb
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: Fd.Model.ItemInfo.MapDescriptor
LOG: Attempting download of new URL
file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/fd/7efe3233/7178912e/
Fd.Model.ItemInfo.MapDescriptor.DLL.
LOG: Attempting download of new URL
file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/fd/7efe3233/7178912e/
Fd.Model.ItemInfo.MapDescriptor/Fd.Model.ItemInfo.MapDescriptor.DLL.
LOG: Attempting download of new URL
file:///D:/Documents/AW/Tests/RfdTry/Fd/FdWeb/bin/Fd.Model.ItemInfo.MapDescriptor.DLL.
WRN: Comparing the assembly name resulted in the mismatch: NAME
________________________________________
Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573