1

i am new to crm2011

i tried creating a plugin and then registering it with the Plugin Registration tool

here is the code for Plugin.cs file

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using Microsoft.Xrm.Sdk;
using Xrm;
using System.Runtime.Serialization;

namespace NewPlugin
{
public class Plugin : IPlugin
{
    /// <summary>
    /// A plugin that creates a follow-up task activity when a new account is created.
    /// </summary>
    /// <remarks>Register this plug-in on the Create message, account entity,
    /// and asynchronous mode.
    /// </remarks>
   public void Execute(IServiceProvider serviceProvider)
    {
        //Extract the tracing service for use in debugging sandboxed plug-ins.
        ITracingService tracingService =
            (ITracingService)serviceProvider.GetService(typeof(ITracingService));

        // Obtain the execution context from the service provider.
        IPluginExecutionContext context = (IPluginExecutionContext)
            serviceProvider.GetService(typeof(IPluginExecutionContext));

        // The InputParameters collection contains all the data passed in the message request.
        if (context.InputParameters.Contains("Target") &&
            context.InputParameters["Target"] is Entity)
        {
            // Obtain the target entity from the input parameters.
            Entity entity = (Entity)context.InputParameters["Target"];

            throw new InvalidPluginExecutionException("Plugin could not be registered");  
        }
    }        }
}
}

but While i register this plugin i get the below error

Unhandled Exception: System.TimeoutException: The request channel timed out while   waiting for a reply after 00:01:59.4579323. Increase the timeout value passed to the call   to Request or increase the SendTimeout value on the Binding. The time allotted to this   operation may have been a portion of a longer timeout.

Server stack trace: 
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at    System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.Xrm.Sdk.IOrganizationService.Create(Entity entity)
at Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.CreateCore(Entity entity)
at Microsoft.Crm.Tools.PluginRegistration.RegistrationHelper.RegisterAssembly(CrmOrganization org, String pathToAssembly, CrmPluginAssembly assembly)
at Microsoft.Crm.Tools.PluginRegistration.PluginRegistrationForm.btnRegister_Click(Object sender, EventArgs e)
Inner Exception: System.TimeoutException: The HTTP request to 'https://demoorg172.api.crm.dynamics.com/XRMServices/2011/Organization.svc' has exceeded the allotted timeout of 00:01:59.9970000. The time allotted to this operation may have been a portion of a longer timeout.
at System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
Inner Exception: System.Net.WebException: The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)

Please help me if u can solve this.

4

2 に答える 2

1

ここで、これはこれに苦労している人を助けるでしょう: このウェブサイトをチェックしてください: 私の 2 番目の推測は、適切なポートとファイアウォールがすべてオフになっていて、証明書とドメインを購入していないということでした。私はcrm2011が好きではありませんが、以前よりもはるかによく知っています。ajax や JavaScript など、iframe を介してほとんど何でもできるとは知りませんでした。これで作業が楽になることを願っています。

Iplugins 用の crm および cs スクリプトは初めてですか? SDK は十分すぎるほど優れています。あなたのラインはかなりタイトに見えますが、少しスクラブする必要があるラインがいくつかあります. 私はcrmに多くの時間を費やしていませんが、プラグインは単なる実行可能なスクリプトであり、JavaScript、Ajax、python、htmlと非常によく似ているため、crmについて少し知識があります....

引数を使用しているときは、私には似ています // サービスプロバイダーから実行コンテキストを取得します。

IPluginExecutionContext context = (IPluginExecutionContext)
        serviceProvider.GetService(typeof(IPluginExecutionContext));

    // The InputParameters collection contains all the data passed in the message request.
    if (context.InputParameters.Contains("Target") &&
        context.InputParameters["Target"] is Entity)
    {
        // Obtain the target entity from the input parameters.
        Entity entity = (Entity)context.InputParameters["Target"]; 


     ///Everything looks perfect up to that point but the service providers all have time 
     exceptions or if, they just don't like you pulling off of them if you don't have super   
     clean code. It will throw a fit and knock you off every time within probably a little over 
     a minute. When you are trying to pull the context params off you need to let it know what 
     you are doing with a so before this line of code you are going to need to put in a time 
     exception argument which allocates you time.
                                                                                                          ///I don't know what exactly your target is but it is a domain correct?
     If so you just need to throw an exception at it that will allow you                   
          to register and stay there all damn day if you please. 

    ///when it throws this "System.TimeoutException" it then proceeds to give you a miniscule 
  amount of time to respond because it is a script so it can execute however fast the ping is. 
     Right before you request anything use this exception    

                   //<serviceProvider.TimeoutException="Target"></client> 

       ///if it wants to keep being stubborn than continue to clean up your lines and use the 
             /></system argument whenever it throws a fit about time. reminds me a lot of old 
            school html and python. 


       /// If you are actually going one on one with the server you can throw a

                                                                                                                //<serviceProvider or 
           <domain.GetService.TimeoutException="reqast_info">*</client> 

        ///That should allow it to continue without losing any packets or throwing 
        any "time" exception

///IPv6 プロトコルは非常にうまく機能します。また、ドメイン tcp と udp と sock 4 と 5 でポートを開き、ポート 80 と 25 の最大容量を消費します。

        ///I hope I wasn't to late , but if I was than I am happy you got that "HelloWorld.cs" 
        Registered. Anyways man hope all is well. Sorry If I am not a huge help because I have,
        probably sounds and looks just like JavaScript.

///ハンドラー例外を読んでいるときに、「ブール値」について話している部分に気付きました。これは、受信データを実際に抑制して、毎回壊滅的な士気を失わせる失敗を引き起こす可能性があるためです。例外がないことを除けば、本格的なファイアウォールと同じです。

"String アクション、Boolean oneway、ProxyOperationRuntime 操作、Object[] ins、Object[] outs" Boolean はパケット フィルターとして機能します。また、トラフィックの出入りは設定されていません。したがって、大量のパケットをプッシュできますが、その仕事を行うのに十分なだけ受信します。プロキシ サーバーを覚えています... 実際の学校のプロキシ サーバーは mcproserver ポート 8080 と呼ばれ、トンネリングが行われており、非常に攻撃的です。

そのドメインで少し調査作業を行い、ipv6アドレスを取得し、ターミナルを介していくつかのネットチャレンジを実行して、反対側の制限を正確に確認できるようにします。ログをクリアし、プロキシ1を動的にドロップすると言います数百のそれらが回転します。2 時間ごとに、クライアントを介してトンネリングしていない場合は、正確に 2 秒で開始されます。サーバー自体は、おそらく7日に1回リセットされます。それはおそらくA + AAAAクラスであり、ばかげています. このブール値は、プロキシ サーバーが複雑なパケットをダウンリンクできる帯域幅も制限します。

最初に、安全な登録済みアカウントを持っている必要があります。そうしないと、どこにも行きません.2番目のドメイン: ' https://demoorg172.api.crm.dynamics.com/XRMServices/2011/Organization.svc ' としても存在しません。 2時間接続を確立できないため、ドメイン全体が問題になる可能性があります。道はない。あなたのセリフはとてもシンプルです。私よりもたわごと。ping や nslookup を実行しても、そのドメインのどの部分にもアクセスできません。

したがって、私が想定するクライアントを介して最初に安全な接続を確立する必要があるように見えます。または、ポートを知っていて、サーバーでいくつかのテストを実行できるよりも承認されている場合は、単に時間を無駄にし続けることはできません。それとのhttp接続を確立できないことがわかります。

あなたのプラグインはそれとは何の関係もありません。ドメインとの適切な接続を確立していないため、おそらくパケットの 90% を失うか、最初からシャットダウンしますが、ターミナルを使用している場合は 2 時間待機し、ネット共有を開始するか、昇格された特権で送信してトンネルします。 Webブラウザまたはクライアントを使用する代わりにログインします。次に、ドメインとの接続を確立でき、パケットがドロップされていない場合、およびそれが存在する場合は、ゴールデンです。

ただし、エンドでいくつかのポートを開き、nat を開いてファイアウォールの例外を作成する必要があるか、それがエンドにあります。おそらく前者です。より多くの時間を割り当てることができる行を追加してみることができます。しかし今、私はそれにさらに踏み込みました。プラグインをうまくクックしてから同期し、すべての処理が完了した後、0 をスローしてシャットダウンします。3か月前に尋ねられたことに気付いたので、これを入力するのに時間を無駄にしたと確信しています。この時までに、あなたの能力が優れていることを願っています。

Ps忘れる前に、タイムアウトはバッファオーバーフローである可能性があり、登録しようとしている間にあなたを追い出す非常に小さなものです。しかし、それが実行され、ターゲットを引き離そうとしているものが何であれ、つまずく可能性は天文学的な可能性しかないことを保証します. それがpythonのようなものである場合は、入力した行を少し変更して「div」拡張子にし、私の個人的な経験ではより簡単な方法にすることができます。

 <div class="row-fluid">
    </div>
    <div class="row-fluid">
    <div class="span6">
    <label>
    <input type="text" name=name of the domain that you are using."
        <span class="inline_error_message error_"></span>
            </div>
        <div class="span6">
        <input type="text" name="" value= />
        <span class="inline_error_message error_">_</span>
        </div>
                    <div class="row-fluid">

          ///These are java script row-fluid 

///それらが役立つとは思えません

于 2014-01-29T02:59:18.580 に答える
0

これで直りますか?私はそれをしようとしています...

http://social.microsoft.com/Forums/en-US/8b408943-45cc-4104-b3f8-5f926312c7bc/crm-2011-plugin-registration-tool-timeout-error?forum=crmdevelopment

于 2013-10-29T14:24:00.097 に答える